Qual é a diferença entre o construtor padrão e parametrizado
Índice:
- O que é o construtor padrão
- O que é construtor parametrizado
- Diferença entre construtor padrão e parametrizado
O construtor padrão é um tipo de construtor que é chamado automaticamente quando o programador não definiu nenhum construtor no programa. Em contraste, o construtor parametrizado é um tipo de construtor definido pelo programador passando parâmetros para dar valores iniciais às variáveis de instância na classe. Esse é o principal diferença entre o construtor padrão e parametrizado.
A maioria das linguagens de programação de alto nível oferece suporte a Programação Orientada a Objetos (OOP). Em OOP, tudo é uma classe, o que ajuda a construir objetos. Esses objetos se comunicam entre si no programa. O construtor é um conceito em OOP. É um método especial que permite inicializar um objeto na sua criação. O construtor pode ser padrão ou parametrizado.
Construtor, construtor padrão, OOP, construtor parametrizado
O que é o construtor padrão
O construtor é chamado quando um objeto é criado. Ele também aloca memória para esse objeto. Além disso, ajuda a dar valores iniciais às variáveis de instância na classe. Se o programador não definir um construtor, o programa chama o construtor padrão automaticamente. Ele inicializa todas as variáveis de membro para zero ou nulo.
Figura 1: Programa com construtor padrão
No programa acima, existe uma classe de Aluno. Possui duas variáveis de instância como id e nome. O programador não definiu nenhum construtor. Além disso, há um objeto de aluno no método principal. Finalmente, o id e o nome são impressos no console. Como o programador não definiu nenhum construtor, o programa chama o construtor padrão. Ele inicializa o id como 0 e o nome como nulo.
O que é construtor parametrizado
O construtor parametrizado é um construtor que aceita parâmetros. Pode haver um ou mais parâmetros. Quando há um construtor parametrizado, o programa não chama o construtor padrão. Além disso, o programador pode declarar os parâmetros entre parênteses após o nome do construtor.
Figura 2: Programa com construtor parametrizado
Acima está uma classe chamada Cálculo. Ele tem duas variáveis de instância chamadas num1 e num2. Na linha 7, existe um construtor parametrizado. Leva dois argumentos xey e atribui esses valores às variáveis de instância num1 e num2.
Além disso, existe um método chamado soma. Ele retornará a soma desses dois números. Existe um objeto de cálculo no método principal. O método sum é chamado usando obj1. Finalmente, os resultados são impressos no console.
Diferença entre construtor padrão e parametrizado
Definição
O construtor padrão é um construtor que o compilador gera automaticamente na ausência de quaisquer construtores definidos pelo programador. Por outro lado, o construtor parametrizado é um construtor que o programador cria com um ou mais parâmetros para inicializar as variáveis de instância de uma classe. Assim, isso explica a principal diferença entre o construtor padrão e parametrizado.
Número de Parâmetros
Os parâmetros são a principal diferença entre o construtor padrão e parametrizado. O construtor padrão não tem parâmetros, enquanto o construtor parametrizado tem um ou mais parâmetros.
Método de Chamada
Se o programador pular a escrita de um construtor, o programa chama o construtor padrão automaticamente. Por outro lado, o programador deve escrever seu próprio construtor ao escrever um construtor parametrizado.
Conclusão
O construtor padrão é um tipo de construtor que é chamado automaticamente quando o programador não definiu nenhum construtor no programa. Em contraste, o construtor parametrizado é um tipo de construtor definido pelo programador passando parâmetros para fornecer valores iniciais às variáveis de instância na classe. Essa é a principal diferença entre o construtor padrão e parametrizado.
Referência:
1. “Java Constructor - Javatpoint.” Www.javatpoint.com, disponível aqui.
![Qual é a diferença entre o construtor padrão e parametrizado Qual é a diferença entre o construtor padrão e parametrizado](https://img.books-kingdom.com/images/002/image-4537.jpg)