SlideShare una empresa de Scribd logo
Constructores y
Destructores
UNIDAD 2
ING. ALVARO ENRIQUE RUANO
Contenido
● Sobrecarga
● Constructores
● Destructores
Sobrecarga
● Permite nombrar con el mismo identificador 2
o más métodos. (los parámetros deben ser
distintos).
● Estos métodos pueden realizar acciones
diferentes.
● El compilador decidirá qué método usar,
dependiendo de los parámetros que se
envíen.
Sobrecarga
Constructores
● Un constructor es un método que tiene el
mismo nombre de la clase y que tiene el
propósito de inicializar los atributos y
variables cuando se instancia la clase.
Constructores
● Una clase puede tener varios
constructores (sobrecarga), de los cuales
se elige el correcto para ejecutar según la
cantidad y tipo de dato de los parámetros
con que se está instanciando el objeto.
Constructores
● Si no se ha escrito ningún constructor, el
compilador proporciona un constructor
automáticamente, aunque dicho
constructor no realiza ninguna
inicialización de variables.
Constructores
● Un constructor es sintácticamente igual a
un procedimiento.
● Por definición, un constructor no puede
devolver ningún valor, por lo que su tipo
de retorno siempre es “void”. Dado que
siempre será así, en su declaración se
omite esta sección.
Constructores
● Un constructor puede especificar
cualquier cantidad de parámetros.
● A un constructor que no tiene parámetros
se le denomina, constructor por defecto
porque inicializa todas las variables a un
valor por defecto.
Constructores C#
Constructores C#
Constructores VB.Net
Constructores C++
Constructores
● Cuando existe una relación de herencia
entre dos clases y se instancia un
objeto de la clase derivada, se debe
ejecutar el constructor de la clase
padre.
● Esta llamada se puede realizar de
forma explícita por medio de la palabra
reservada “base”.
Constructores
● En caso que no se llame explícitamente,
el compilador implícitamente hará la
llamada al “constructor por defecto” de
la clase padre.
● Si no existe un constructor por defecto
para la clase padre, se debe declarar la
llamada de forma explícita en la clase
derivada.
Constructores C#
Ejemplo de llamada explicita
a un constructor de la Clase
Base (herencia).
Constructores C++
Ejemplo de llamada implícita
a constructores de las clases
base en Herencia Múltiple
Constructores C++
Parte 1
Ejemplo de orden de llamado
a constructores en Herencia
Simple con atributos de tipo
objeto (llamas implícitas).
Constructores C++
Parte 2
Ejemplo de orden de llamado
a constructores en Herencia
Simple con atributos de tipo
objeto (llamas implícitas).
Constructores C++
Parte 3
Ejemplo de orden de llamado
a constructores en Herencia
Simple con atributos de tipo
objeto (llamas implícitas).
Destructores
● Son la contraparte de los constructores.
● Son procedimientos que tienen el mismo
nombre de la clase precedido por el
símbolo “~” o en algunos casos por la
palabra clave “destructor”.
Destructores
● En el caso de que no se incluya un
destructor, el compilador proporciona un
por defecto.
● Solo puede haber un destructor por clase.
● Los constructores no pueden tener
argumentos ni devolver valores ya que son
llamados automáticamente cuando el
objeto deja de existir.
Destructores
● El uso más frecuente de un destructor es
liberar memoria que fue asignada por el
constructor.
● En C++ los destructores de los objetos se
llaman de la siguiente forma:
● Si tiene ambito de archivo, se llama cuando
termina el programa principal
● Si el objeto se asignó con el operador new, el
destructor se llama con el operador delete.
Destructores
● En C# la memoria se libera
automáticamente, a través de un
recolector automático de basura
(Garbage Collector) que llama a los
destructores a partir del momento en ql
que se sabe que un objeto ya no va a ser
utilizado.
Gracias por su atención

Más contenido relacionado

La actualidad más candente

Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
Alvaro Enrique Ruano
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
Clara Patricia Avella Ibañez
 
Unidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatasUnidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatas
Sergio Lara Guevara
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
Carlos Gabriel Tipula Yanapa
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
Universidad Fermín Toro
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
Clara Patricia Avella Ibañez
 
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLUnidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Cindy Adriana Bohórquez Santana
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
Alvaro Enrique Ruano
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
Alvaro Enrique Ruano
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
Sergio Sanchez
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
Karlytoz_36
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
Osiris Mirerus
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
josecuartas
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
José Antonio Sandoval Acosta
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
Waldi Misael Saturno Encarnacion
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
oswchavez
 
Programación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objetoProgramación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objeto
Germán Robles Tandazo
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
cemayoral
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
Luis Eduardo Aponte
 
Cuestionario
CuestionarioCuestionario
Cuestionario
Jose Nava
 

La actualidad más candente (20)

Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Unidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatasUnidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatas
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLUnidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Programación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objetoProgramación estructurada, modular y orientada a objeto
Programación estructurada, modular y orientada a objeto
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 

Similar a Programación Orientada a Objetos - constructores y destructores

Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y Destructor
Tecnologico
 
Metodos Constructor Y Destructor
Metodos Constructor Y DestructorMetodos Constructor Y Destructor
Metodos Constructor Y Destructor
rezzaca
 
Contructores en java(grupo 8)
Contructores en java(grupo 8)Contructores en java(grupo 8)
Contructores en java(grupo 8)
Manuel Ch.
 
POO Unidad 2 con Java temario de unidad sobre clases, herencia, métodos.pptx
POO Unidad 2 con Java temario de unidad sobre clases, herencia, métodos.pptxPOO Unidad 2 con Java temario de unidad sobre clases, herencia, métodos.pptx
POO Unidad 2 con Java temario de unidad sobre clases, herencia, métodos.pptx
JulianRollins1
 
El lenguaje de programacion C++ - Entorno de prog
El lenguaje de programacion C++ - Entorno de progEl lenguaje de programacion C++ - Entorno de prog
El lenguaje de programacion C++ - Entorno de prog
PaulDelgadoSoto
 
El lenguaje C++ (1).ppt
El lenguaje C++ (1).pptEl lenguaje C++ (1).ppt
El lenguaje C++ (1).ppt
JOSECASHUUG
 
El lenguaje C++.ppt
El lenguaje C++.pptEl lenguaje C++.ppt
El lenguaje C++.ppt
John Harold Bonilla
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
mellcv
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
León Arenas Rivera
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
Krizztiina Pacheko
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
Karla Estefania Villanueva Epigmenio
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
Margarita Romero
 
Operadores poo
Operadores pooOperadores poo
Operadores poo
RochaJaqueline
 
C en c++
C en c++C en c++
C en c++
Tensor
 
Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_
Jesus22barrera
 
Presentación de Tipos de datos para c++ de programacion
Presentación de Tipos de datos para c++ de programacionPresentación de Tipos de datos para c++ de programacion
Presentación de Tipos de datos para c++ de programacion
ValeriaBerrones
 
05 Creando Clases
05   Creando Clases05   Creando Clases
05 Creando Clases
Network Sens
 
Javaexpo
JavaexpoJavaexpo
Javaexpo
Mariela Terán
 
Java
JavaJava
Java
JavaJava

Similar a Programación Orientada a Objetos - constructores y destructores (20)

Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y Destructor
 
Metodos Constructor Y Destructor
Metodos Constructor Y DestructorMetodos Constructor Y Destructor
Metodos Constructor Y Destructor
 
Contructores en java(grupo 8)
Contructores en java(grupo 8)Contructores en java(grupo 8)
Contructores en java(grupo 8)
 
POO Unidad 2 con Java temario de unidad sobre clases, herencia, métodos.pptx
POO Unidad 2 con Java temario de unidad sobre clases, herencia, métodos.pptxPOO Unidad 2 con Java temario de unidad sobre clases, herencia, métodos.pptx
POO Unidad 2 con Java temario de unidad sobre clases, herencia, métodos.pptx
 
El lenguaje de programacion C++ - Entorno de prog
El lenguaje de programacion C++ - Entorno de progEl lenguaje de programacion C++ - Entorno de prog
El lenguaje de programacion C++ - Entorno de prog
 
El lenguaje C++ (1).ppt
El lenguaje C++ (1).pptEl lenguaje C++ (1).ppt
El lenguaje C++ (1).ppt
 
El lenguaje C++.ppt
El lenguaje C++.pptEl lenguaje C++.ppt
El lenguaje C++.ppt
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
Operadores poo
Operadores pooOperadores poo
Operadores poo
 
C en c++
C en c++C en c++
C en c++
 
Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_
 
Presentación de Tipos de datos para c++ de programacion
Presentación de Tipos de datos para c++ de programacionPresentación de Tipos de datos para c++ de programacion
Presentación de Tipos de datos para c++ de programacion
 
05 Creando Clases
05   Creando Clases05   Creando Clases
05 Creando Clases
 
Javaexpo
JavaexpoJavaexpo
Javaexpo
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 

Más de Alvaro Enrique Ruano

Resumen caso Enron
Resumen caso EnronResumen caso Enron
Resumen caso Enron
Alvaro Enrique Ruano
 
Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)
Alvaro Enrique Ruano
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
Alvaro Enrique Ruano
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
Alvaro Enrique Ruano
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
Alvaro Enrique Ruano
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
Alvaro Enrique Ruano
 
Ordenamientos rápido y mezcla
Ordenamientos rápido y mezclaOrdenamientos rápido y mezcla
Ordenamientos rápido y mezcla
Alvaro Enrique Ruano
 
Ordenamientos por selección y Shell
Ordenamientos por selección y ShellOrdenamientos por selección y Shell
Ordenamientos por selección y Shell
Alvaro Enrique Ruano
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
Alvaro Enrique Ruano
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
Alvaro Enrique Ruano
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clases
Alvaro Enrique Ruano
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
Alvaro Enrique Ruano
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
Alvaro Enrique Ruano
 
Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...
Alvaro Enrique Ruano
 
Solución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareSolución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de software
Alvaro Enrique Ruano
 

Más de Alvaro Enrique Ruano (15)

Resumen caso Enron
Resumen caso EnronResumen caso Enron
Resumen caso Enron
 
Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
 
Ordenamientos rápido y mezcla
Ordenamientos rápido y mezclaOrdenamientos rápido y mezcla
Ordenamientos rápido y mezcla
 
Ordenamientos por selección y Shell
Ordenamientos por selección y ShellOrdenamientos por selección y Shell
Ordenamientos por selección y Shell
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clases
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
 
Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...
 
Solución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareSolución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de software
 

Programación Orientada a Objetos - constructores y destructores

  • 3. Sobrecarga ● Permite nombrar con el mismo identificador 2 o más métodos. (los parámetros deben ser distintos). ● Estos métodos pueden realizar acciones diferentes. ● El compilador decidirá qué método usar, dependiendo de los parámetros que se envíen.
  • 5. Constructores ● Un constructor es un método que tiene el mismo nombre de la clase y que tiene el propósito de inicializar los atributos y variables cuando se instancia la clase.
  • 6. Constructores ● Una clase puede tener varios constructores (sobrecarga), de los cuales se elige el correcto para ejecutar según la cantidad y tipo de dato de los parámetros con que se está instanciando el objeto.
  • 7. Constructores ● Si no se ha escrito ningún constructor, el compilador proporciona un constructor automáticamente, aunque dicho constructor no realiza ninguna inicialización de variables.
  • 8. Constructores ● Un constructor es sintácticamente igual a un procedimiento. ● Por definición, un constructor no puede devolver ningún valor, por lo que su tipo de retorno siempre es “void”. Dado que siempre será así, en su declaración se omite esta sección.
  • 9. Constructores ● Un constructor puede especificar cualquier cantidad de parámetros. ● A un constructor que no tiene parámetros se le denomina, constructor por defecto porque inicializa todas las variables a un valor por defecto.
  • 14. Constructores ● Cuando existe una relación de herencia entre dos clases y se instancia un objeto de la clase derivada, se debe ejecutar el constructor de la clase padre. ● Esta llamada se puede realizar de forma explícita por medio de la palabra reservada “base”.
  • 15. Constructores ● En caso que no se llame explícitamente, el compilador implícitamente hará la llamada al “constructor por defecto” de la clase padre. ● Si no existe un constructor por defecto para la clase padre, se debe declarar la llamada de forma explícita en la clase derivada.
  • 16. Constructores C# Ejemplo de llamada explicita a un constructor de la Clase Base (herencia).
  • 17. Constructores C++ Ejemplo de llamada implícita a constructores de las clases base en Herencia Múltiple
  • 18. Constructores C++ Parte 1 Ejemplo de orden de llamado a constructores en Herencia Simple con atributos de tipo objeto (llamas implícitas).
  • 19. Constructores C++ Parte 2 Ejemplo de orden de llamado a constructores en Herencia Simple con atributos de tipo objeto (llamas implícitas).
  • 20. Constructores C++ Parte 3 Ejemplo de orden de llamado a constructores en Herencia Simple con atributos de tipo objeto (llamas implícitas).
  • 21. Destructores ● Son la contraparte de los constructores. ● Son procedimientos que tienen el mismo nombre de la clase precedido por el símbolo “~” o en algunos casos por la palabra clave “destructor”.
  • 22. Destructores ● En el caso de que no se incluya un destructor, el compilador proporciona un por defecto. ● Solo puede haber un destructor por clase. ● Los constructores no pueden tener argumentos ni devolver valores ya que son llamados automáticamente cuando el objeto deja de existir.
  • 23. Destructores ● El uso más frecuente de un destructor es liberar memoria que fue asignada por el constructor. ● En C++ los destructores de los objetos se llaman de la siguiente forma: ● Si tiene ambito de archivo, se llama cuando termina el programa principal ● Si el objeto se asignó con el operador new, el destructor se llama con el operador delete.
  • 24. Destructores ● En C# la memoria se libera automáticamente, a través de un recolector automático de basura (Garbage Collector) que llama a los destructores a partir del momento en ql que se sabe que un objeto ya no va a ser utilizado.
  • 25. Gracias por su atención