Diferencia entre constructor y destructor

Tabla de contenido:

Diferencia entre constructor y destructor
Diferencia entre constructor y destructor

Video: Diferencia entre constructor y destructor

Video: Diferencia entre constructor y destructor
Video: 65. Programación en Java || POO || Método Constructor 2024, Mes de julio
Anonim

Diferencia clave: constructor vs destructor

La mayoría de los lenguajes de programación admiten la programación orientada a objetos (POO). Es el paradigma que ayuda a modelar un software o un programa utilizando objetos. OOP mejora la productividad y la mantenibilidad. En OOP todo se considera como un objeto. Los objetos se crean o instancian usando clases. Constructor y Destructor son términos comunes en la Programación Orientada a Objetos. Este artículo analiza la diferencia entre un constructor y un destructor. Un constructor y un destructor son funciones miembro especiales en una clase. Un constructor y un destructor tienen el mismo nombre que la clase, pero el destructor tiene un signo de tilde (~). La diferencia clave entre un constructor y un destructor es que un constructor se usa para asignar memoria a un objeto, mientras que un destructor se usa para desasignar la memoria de un objeto.

¿Qué es un constructor?

Un constructor es una función miembro especial en la clase para asignar memoria a un objeto. Se puede utilizar para proporcionar valores para los miembros de datos. El constructor se invoca cuando se crea el objeto. Tiene el mismo nombre que el nombre de la clase. Un constructor no devuelve ningún valor. Por lo tanto, no contiene un tipo de retorno. Un constructor también puede aceptar parámetros. Un constructor con parámetros se conoce como constructor parametrizado.

Un ejemplo de constructor es el siguiente.

rectángulo de clase pública{

int largo, ancho;

rectángulo público(int p, int q){

longitud=p;

ancho=q;

}

public int calcularArea(){

return (largoancho);

}

}

Según el código anterior, el constructor tiene el mismo nombre que el nombre de la clase. El constructor Rectangle acepta dos parámetros. Son p y q. El valor entero p se asigna a la longitud. El valor entero q se asigna al ancho. En calcu alteArea, la multiplicación de largo y ancho se calcula para encontrar el área del rectángulo. En el programa principal, el programador puede crear un objeto de tipo Rectángulo y pasar los argumentos. p.ej. Rectángulo rect1=nuevo Rectángulo(2, 3). Luego, se llama al constructor parametrizado y asigna los valores de largo y ancho.

Diferencia entre constructor y destructor
Diferencia entre constructor y destructor

Figura 01: Constructor y Destructor

Cuando hay un constructor sin ningún parámetro, se le llama constructor por defecto. Si el programador no define un constructor, se invocará el constructor predeterminado. Si existe una clase como Student y cuando el programador crea un objeto de tipo Student, se llama al constructor por defecto. p.ej. Estudiante s1=nuevo Estudiante(); Puede haber múltiples constructores con diferentes parámetros y diferentes tipos de datos en una clase. El constructor apropiado se puede llamar en consecuencia. Por lo tanto, los constructores pueden sobrecargarse.

¿Qué es un Destructor?

Un destructor es una función miembro especial en la clase. Se utiliza para desasignar memoria para un objeto creado por el constructor. El destructor se invoca cuando se destruye el objeto. Realiza el almacenamiento de limpieza que ya no se necesita. Al igual que el constructor, el destructor tiene el mismo nombre que la clase. También contiene un símbolo de tilde (~).

Un destructor no devuelve ningún valor. A diferencia de un constructor, el destructor no acepta ningún parámetro. Entonces, destructor no admite la sobrecarga. Declarar un destructor se considera una buena práctica de programación porque libera espacio de memoria y ese espacio se puede usar para almacenar otros objetos. La sintaxis de destructor es similar a ~className() { }. p.ej. ~Rectángulo() { }; Solo puede haber un único destructor en una clase.

¿Cuáles son las similitudes entre el constructor y el destructor?

  • Tanto el constructor como el destructor están asociados con objetos.
  • Tanto el constructor como el destructor no devuelven ningún valor.
  • Tanto el constructor como el destructor se llaman automáticamente.

¿Cuál es la diferencia entre constructor y destructor?

Constructor vs Destructor

Un constructor es un miembro especial de la clase que se utiliza para asignar memoria a un objeto. Un destructor es un miembro especial de la clase que se utiliza para desasignar la memoria de un objeto.
Método de invocación
Se invoca un constructor cuando se crea el objeto. Se llama a un destructor cuando el objeto se destruye o elimina.
Uso
Se utiliza un constructor para asignar memoria a los objetos. Se utiliza un destructor para desasignar la memoria de los objetos.
Parámetros
Un constructor acepta parámetros. Un destructor no acepta parámetros.
Número de constructores y destructores
Puede haber múltiples constructores con diferente número de parámetros y diferentes tipos de parámetros. Puede haber un solo destructor en la clase.
Velocidad de ejecución
Un constructor tiene el mismo nombre que el nombre de la clase. Un destructor tiene el mismo nombre que el nombre de la clase con un símbolo de tilde (~).
Sobrecarga
Un constructor puede sobrecargarse. Un destructor no se puede sobrecargar.

Resumen – Constructor vs Destructor

OOP es un paradigma común en el desarrollo de software. Puede simplificar un proyecto complejo. En OOP se utilizan un constructor y un destructor. Un constructor y un destructor tienen el mismo nombre que la clase, pero el destructor tiene un signo ~. La diferencia entre un constructor y un destructor es que un constructor se usa para asignar memoria a un objeto, mientras que un destructor se usa para desasignar la memoria de un objeto.

Descargar el PDF de Constructor vs Destructor

Puede descargar la versión en PDF de este artículo y usarla sin conexión según la nota de la cita. Descargue la versión en PDF aquí: Diferencia entre constructor y destructor

Recomendado: