Diferença entre construtor e destruidor

Diferença de chave - Construtor vs Destruidor
 

A maioria das linguagens de programação suporta Programação Orientada a Objetos (OOP). É o paradigma que ajuda a modelar um software ou programa usando objetos. OOP melhora a produtividade e a capacidade de manutenção. No POO, tudo é considerado como um objeto. Os objetos são criados ou instanciados usando classes. Construtor e Destrutor são termos comuns na Programação Orientada a Objetos. Este artigo discute a diferença entre um construtor e um destruidor. Um construtor e um destruidor são uma função de membro especial em uma classe. Um construtor e destruidor têm o mesmo nome que a classe, mas o destruidor possui um sinal de til (~). o diferença chave entre um construtor e um destruidor é que um construtor é usado para alocar memória a um objeto enquanto um destruidor é usado para desalocar a memória de um objeto.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que é um construtor
3. O que é um destruidor
4. Semelhanças entre construtor e destruidor
5. Comparação lado a lado - Construtor vs Destrutor em forma de tabela
6. Resumo

O que é um construtor?

Um construtor é uma função de membro especial na classe para alocar memória a um objeto. Pode ser usado para fornecer valores para os membros dos dados. O construtor é chamado quando o objeto é criado. Tem o mesmo nome que o nome da classe. Um construtor não retorna nenhum valor. Portanto, ele não contém um tipo de retorno. Um construtor também pode aceitar parâmetros. Um construtor com parâmetros é conhecido como construtor parametrizado.

Um exemplo de construtor é o seguinte.

public class Rectangle

int comprimento, largura;

retângulo público (int p, int q)

comprimento = p;

largura = q;

public int calculArea ()

retorno (comprimento * largura);

De acordo com o trecho de código acima, o construtor tem o mesmo nome que o nome da classe. O construtor Rectangle aceita dois parâmetros. Eles são p e q. O valor inteiro p é atribuído ao comprimento. O valor inteiro q é atribuído à largura. No calcualteArea, a multiplicação de comprimento e largura é calculada para encontrar a área do retângulo. No programa principal, o programador pode criar um objeto do tipo Rectangle e passar os argumentos. por exemplo. Retângulo ret1 = novo Retângulo (2,3). Em seguida, o construtor parametrizado é chamado e atribui os valores ao comprimento e largura.

Figura 01: Construtor e Destrutor

Quando há um construtor sem nenhum parâmetro, ele é chamado de construtor padrão. Se o programador não definir um construtor, o construtor padrão será chamado. Se houver uma classe como Student e quando o programador criar um objeto do tipo Student, o construtor padrão será chamado. por exemplo. Aluno s1 = novo Aluno (); Pode haver vários construtores com parâmetros diferentes e tipos de dados diferentes em uma classe. O construtor apropriado pode ser chamado de acordo. Portanto, os construtores podem ser sobrecarregados.

O que é um destruidor?

Um destruidor é uma função de membro especial na classe. É usado para desalocar memória para um objeto criado pelo construtor. O destruidor é chamado quando o objeto é destruído. Ele realiza o armazenamento de limpeza que não é mais necessário. Como o construtor, o destruidor tem o mesmo nome que a classe. Ele também contém um símbolo de til (~).

Um destruidor não retorna nenhum valor. Ao contrário de um construtor, o destruidor não aceita nenhum parâmetro. Portanto, o destruidor não suporta sobrecarga. Declarar um destruidor é considerado uma boa prática de programação porque libera o espaço da memória e esse espaço pode ser usado para armazenar alguns outros objetos. A sintaxe do destruidor é semelhante a ~ className () . por exemplo. ~ Retângulo () ; Só pode haver um único destruidor em uma classe.

Quais são as semelhanças entre construtor e destruidor?

  • Tanto o construtor quanto o destruidor estão associados aos objetos.
  • O construtor e o destruidor não retornam nenhum valor.
  • O construtor e o destruidor são chamados automaticamente.

Qual é a diferença entre construtor e destruidor?

Constructor vs Destructor

Um construtor é um membro especial na classe que é usada para alocar memória a um objeto. Um destruidor é um membro especial da classe que é usado para desalocar a memória de um objeto.
 Método de Invocação
Um construtor é chamado quando o objeto é criado. Um destruidor é chamado quando o objeto é destruído ou excluído.
Uso
Um construtor é usado para alocar memória para os objetos. Um destruidor é usado para desalocar memória para os objetos.
 Parâmetros
Um construtor aceita parâmetros. Um destruidor não aceita parâmetros.
Número de Construtores e Destrutores
Pode haver vários construtores com um número diferente de parâmetros e diferentes tipos de parâmetros. Pode haver um destruidor único na classe.
Velocidade de Execução
Um construtor tem o mesmo nome que o nome da classe. Um destruidor tem o mesmo nome que o nome da classe com um símbolo de til (~).
Sobrecarga
Um construtor pode ser sobrecarregado. Um destruidor não pode ser sobrecarregado.

Sumário - Construtor vs Destruidor

OOP é um paradigma comum no desenvolvimento de software. Ele pode simplificar um projeto complexo. Um construtor e um destruidor são usados ​​no OOP. Um construtor e destruidor têm o mesmo nome que a classe, mas o destruidor possui um sinal ~. A diferença entre um construtor e um destruidor é que um construtor é usado para alocar memória a um objeto enquanto um destruidor é usado para desalocar a memória de um objeto.

Faça o download do PDF do Constructor vs Destructor

Você pode fazer o download da versão em PDF deste artigo e usá-la para fins offline, conforme nota de citação. Faça o download da versão em PDF aqui: Diferença entre o Constructor e o Destructor

Referência:

1.tutorialspoint.com. "Objeto e classes Java". O ponto, Disponivel aqui