Diferencia clave: constructor vs destructor
La mayoría de los lenguajes de programación son compatibles con la programación orientada a objetos (OOP). 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 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.
CONTENIDO
1. Descripción general y diferencia clave
2. Qué es un constructor
3. Qué es un destructor
4. Similitudes entre constructor y destructor
5. Comparación lado a lado: constructor vs destructor en forma tabular
6. Resumen
¿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 calculateArea () {
return (largo * ancho);
}
}
Según el fragmento de código anterior, el constructor tiene el mismo nombre que el nombre de la clase. El constructor Rectangle acepta dos parámetros. Son py q. El valor entero p se asigna a la longitud. El valor entero q se asigna al ancho. En calcualteArea, se calcula la multiplicación de largo y ancho 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. por ejemplo, rectángulo rect1 = nuevo rectángulo (2,3). Luego, se llama al constructor parametrizado y asigna los valores al largo y al ancho.
Figura 01: Constructor y Destructor
Cuando hay un constructor sin parámetros, se llama constructor predeterminado. Si el programador no define un constructor, se invocará el constructor predeterminado. Si hay una clase como Estudiante y cuando el programador crea un objeto de tipo Estudiante, se llama al constructor predeterminado. por ejemplo, Estudiante s1 = nuevo Estudiante (); Puede haber varios constructores con diferentes parámetros y diferentes tipos de datos en una clase. En consecuencia, se puede llamar al constructor apropiado. Por tanto, los constructores pueden estar sobrecargados.
¿Qué es un destructor?
Un destructor es una función miembro especial de 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 es necesario. Como 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. Por lo tanto, destructor no admite la sobrecarga. Declarar un destructor se considera una buena práctica de programación porque libera espacio en la memoria y ese espacio puede usarse para almacenar algunos otros objetos. La sintaxis del destructor es similar a ~ className () {}. por ejemplo, ~ Rectángulo () {}; Solo puede haber un solo destructor en una clase.
¿Cuáles son las similitudes entre constructor y 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?
Diferencia del medio del artículo antes de la mesa
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 usa 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 se 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 varios constructores con un número diferente 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 estar sobrecargado. | 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.
Descarga el PDF de Constructor vs Destructor
Puede descargar la versión PDF de este artículo y usarla para fines sin conexión según la nota de cita. Descargue la versión PDF aquí: Diferencia entre constructor y destructor