Diferença chave - construtor vs destruidor
A maioria das linguagens de programação oferece suporte à Programação Orientada a Objetos (OOP). É o paradigma que ajuda a modelar um software ou programa usando objetos. OOP melhora a produtividade e a facilidade de manutenção. Em OOP, tudo é considerado 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 de membro especiais em uma classe. Um construtor e um destruidor têm o mesmo nome que a classe, mas o destruidor tem um sinal 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.
CONTEÚDO
1. Visão geral e diferença fundamental
2. O que é um construtor
3. O que é um destruidor
4. Semelhanças entre o construtor e o destruidor
5. Comparação lado a lado - Construtor x Destruidor em forma tabular
6. Resumo
O que é um construtor?
Um construtor é uma função de 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 é chamado quando o objeto é criado. Ele tem o mesmo 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 um construtor é o seguinte.
public class Rectangle {
comprimento interno, 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. Na calcualteArea, a multiplicação do comprimento e da largura é calculada para encontrar a área do retângulo. No programa principal, o programador pode criar um objeto do tipo Retângulo e passar os argumentos. por exemplo, Retângulo rect1 = novo 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 parâmetros, 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 Aluno e quando o programador criar um objeto do tipo Aluno, o construtor padrão é chamado. por exemplo, Aluno s1 = novo 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 de membro especial da classe. É usado para desalocar memória para um objeto criado pelo construtor. O destruidor é invocado quando o objeto é destruído. Realiza o armazenamento de limpeza que não é mais necessário. 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, ~ Rectangle () {}; Só pode haver um único destruidor em uma classe.
Quais são as semelhanças entre o construtor e o 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?
Artigo Diff meio antes da tabela
Construtor vs Destrutor |
|
Um construtor é um membro especial da classe 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 é 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 destruidores | |
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 (~). |
Sobrecarregando | |
Um construtor pode estar 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 do Constructor vs Destructor
Você pode baixar a versão em PDF deste artigo e usá-la para fins off-line de acordo com a nota de citação. Faça o download da versão em PDF aqui: Diferença entre construtor e destruidor