Diferença entre construtor e destruidor

A classe está no centro da programação orientada a objetos (OOP). É como um modelo para criar objetos que fornece valores iniciais para variáveis ​​e funções de membro. É o componente básico do POO que define a natureza de um objeto futuro. O mais importante sobre uma classe é que ela define um novo tipo de dados e, uma vez definido, pode ser usado para criar objetos desse tipo. Portanto, seria suficiente dizer que uma classe é um modelo para um objeto e, na verdade, um objeto é uma instância de uma classe. É usado para criar e gerenciar novos objetos e dar suporte à herança, que é um dos principais conceitos das linguagens de programação orientadas a objetos, como Java. Em suma, uma classe organiza informações sobre um tipo de dados para reutilizar elementos ao criar várias instâncias desse tipo de dados. Os dados ou variáveis ​​definidas em uma classe são chamados variáveis ​​de instância.

O que é um construtor?

Um construtor é uma função membro especial de uma classe que é chamada quando a instância de um objeto é criada. Às vezes, pode ser difícil inicializar todas as variáveis ​​em uma classe sempre que uma instância é criada. Como o requisito de inicialização é comum na programação orientada a objetos, ele permite que os objetos sejam inicializados automaticamente quando são criados. Esse processo de inicialização automática é feito através do uso de um construtor. A razão pela qual é chamado especial é porque o método de instância geralmente tem o mesmo nome que a classe. Inicializa um objeto imediatamente após a criação e pode ser usado para definir os valores dos membros de um objeto. Um construtor é sintaticamente semelhante a um método na programação orientada a objetos e um método é um procedimento associado a uma classe e incluído em qualquer objeto dessa classe. Em resumo, um construtor é chamado toda vez que um objeto de uma classe é criado. O mais importante sobre os construtores é que eles não têm Tipo de Retorno, nem mesmo anulam.

O que é um destruidor?

Um destruidor é um conceito totalmente diferente; é um método especial chamado quando a instância de uma classe é excluída da memória. Um destruidor é chamado automaticamente quando um objeto não é mais necessário ou está prestes a desaparecer ou é liberado explicitamente. O principal objetivo de um destruidor é livrar-se dos recursos que o objeto estava usando durante seu ciclo de vida. Ele fornece ao objeto uma última chance de liberar qualquer memória alocada para que haja espaço suficiente na pilha para armazenar novos objetos para executar programas com eficiência. Destruidores são freqüentemente usados ​​em conjunto com construtores, exceto que eles são usados ​​para destruir objetos que foram criados usando construtores. A idéia é desconectar os objetos quando eles são excluídos para liberar memória para novos objetos. Como construtores, destruidores são definidos como sub-rotinas na definição de classe e têm o mesmo nome que o nome da classe, exceto que um destruidor é prefixado com um ~ operador (til). Destrutores são chamados explicitamente em C ++, no entanto, não há destruidores em Java.

Diferença entre Construtor e Destrutor

Objetivo do construtor e destruidor

Tanto os construtores quanto os destruidores são funções membros especiais de todas as classes, mas com conceitos diferentes. Um construtor é usado para inicializar a instância de uma classe, o que significa que é invocado cada vez que uma classe é instanciada, enquanto um destruidor é o oposto de um construtor que é chamado na ordem inversa dos construtores..

Alocação de memória

Um construtor é chamado toda vez que uma nova instância de uma classe é criada. É basicamente uma função membro de uma classe que inicializa um objeto imediatamente após a criação e aloca memória para ele. Um destruidor, por outro lado, é chamado quando a instância de uma classe é excluída da memória que, por sua vez, inicializa objetos que foram criados usando construtores para liberar memória para novos objetos..

Nome

Tanto os construtores quanto os destruidores são funções-membro especiais de uma classe com o mesmo nome que o nome da classe, exceto que um destruidor é prefixado com um operador ~ (til). Um construtor não é senão um método que não tem Tipo de retorno, nem mesmo nulo, enquanto os destruidores são exatamente o oposto dos construtores.

Sobrecarga

Construtores e destruidores são chamados automaticamente após a criação e exclusão. No entanto, diferentemente dos construtores, os destruidores não podem ser sobrecarregados. Sobrecarga é um conceito de programação orientado a objetos que permite definir duas ou mais funções com o mesmo nome, para que você possa chamá-las com diferentes listas de argumentos.

Argumentos

Na programação orientada a objetos, os construtores geralmente aceitam argumentos que eles usam para definir as variáveis ​​membro necessárias, enquanto os destruidores não aceitam nenhum argumento.

Trabalho de Construtor e Destrutor

Os construtores permitem que o objeto inicialize parte de seu valor antes de ser usado, enquanto os destruidores permitem que o objeto execute parte do código no momento em que está sendo destruído..

 Construtor Versos Destrutor: Gráfico de comparação

Resumo do Construtor vs. Destruidor

Tanto os construtores quanto os destruidores são funções-membro especiais de uma classe com o mesmo nome que o nome da classe, exceto que os destruidores são precedidos por um operador ~ til. Um construtor não é senão um método, exceto que é chamado quando a instância de um objeto é criada, enquanto um destruidor é exatamente o oposto dos construtores que são chamados quando a instância de um objeto é excluída da memória. O objetivo dos destruidores é desconectar os objetos criados usando construtores para liberar espaço de memória para acomodar novos objetos.