Key Difference – 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. Na OOP tudo é considerado como um objeto. Os objetos são criados ou instanciados usando classes. Construtor e Destruidor são termos comuns em Programação Orientada a Objetos. Este artigo discute a diferença entre um construtor e um destruidor. Um construtor e um destruidor são funções-membro especiais em uma classe. Um construtor e um destruidor têm o mesmo nome que a classe, mas o destruidor tem um sinal de til (~). A principal diferença entre um construtor e um destruidor é que um construtor é usado para alocar memória para um objeto enquanto um destruidor é usado para desalocar a memória de um objeto.
O que é um Construtor?
Um construtor é uma função membro especial na classe para alocar memória para um objeto. Ele pode ser usado para fornecer valores para os membros de dados. O construtor é invocado 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 um construtor parametrizado.
Um exemplo de construtor é o seguinte.
classe pública Rectangle{
int comprimento, largura;
public Rectangle(int p, int q){
comprimento=p;
largura=q;
}
public int calcularArea(){
return (comprimentolargura);
}
}
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. São p e q. O valor inteiro p é atribuído ao comprimento. O valor inteiro q é atribuído à largura. No calcu alteArea, 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=new Retângulo(2, 3). Em seguida, o construtor parametrizado é chamado e atribui os valores ao comprimento e à largura.
Figura 01: Construtor e Destruidor
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á invocado. Se houver uma classe como Aluno e quando o programador criar um objeto do tipo Aluno, o construtor padrão é chamado. por exemplo. Aluno s1=new Aluno(); Pode haver vários construtores com diferentes parâmetros e diferentes tipos de dados 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 membro especial na classe. Ele é usado para desalocar memória para um objeto criado pelo construtor. O destruidor é invocado quando o objeto é destruído. Ele realiza o armazenamento de limpeza que não é mais necessário. Assim como o construtor, o destruidor tem o mesmo nome da 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 de 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?
- O construtor e o destruidor estão associados a 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?
Construtor vs Destruidor |
|
Um construtor é um membro especial na classe que é usado para alocar memória para 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 é invocado 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 único destruidor 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. |
Resumo – Construtor vs Destruidor
OOP é um paradigma comum no desenvolvimento de software. Pode simplificar um projeto complexo. Um construtor e um destruidor são usados em OOP. Um construtor e um destruidor têm o mesmo nome que a classe, mas o destruidor tem um sinal ~. A diferença entre um construtor e um destruidor é que um construtor é usado para alocar memória para um objeto enquanto um destruidor é usado para desalocar a memória de um objeto.
Baixe o PDF de Construtor vs Destruidor
Você pode baixar a 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 Construtor e Destruidor