Construtor
Um construtor permite que um determinado trecho de código seja executado toda vez que um objeto é criado, ou seja, toda vez que o operador new é chamado. Assim como os métodos, os construtores podem receber parâmetros. Contudo, diferentemente dos métodos, os construtores não devolvem resposta.
Em Java, um construtor deve ter o mesmo nome da classe na qual ele foi definido:class CartaoDeCredito {
int numero ;
CartaoDeCredito ( int numero ) {
this . numero = numero ;
}
}
Na criação de um objeto com o comando new, os argumentos passados devem ser compatíveis com a lista de parâmetros de algum construtor definido na classe que está sendo instanciada. Caso contrário, um erro de compilação ocorrerá para avisar o desenvolvedor dos valores obrigatórios que devem ser passados para criar um objeto.
CartaoDeCredito c = new CartaoDeCredito(736723672);
Construtor Padrão
Toda vez que um objeto é criado, um construtor da classe correspondente deve ser chamado. Mesmo quando nenhum construtor for definido explicitamente, há um construtor padrão que será inserido pelo próprio compilador. O construtor padrão não recebe parâmetros e será inserido sempre que o desenvolvedor não definir pelo menos um construtor explicitamente.Portanto, para instanciar uma classe que não possui construtores definidos no código fonte, devemos utilizar o construtor padrão, já que este é inserido automaticamente pelo compilador.
class Conta() {}
Lembrando que o construtor padrão só será inserido pelo compilador se nenhum construtor for definido no código fonte. Dessa forma, se você adicionar um construtor com parâmetros então não poderá utilizar o comando new sem passar argumentos, pois um erro de compilação ocorrerá.
Sobrecarga de Construtores
O conceito de sobrecarga de métodos pode ser aplicado para construtores. Dessa forma, podemos definir diversos construtores na mesma classe.class Pessoa {
String rg ;
int cpf ;
Pessoa ( String rg ) {
this . rg = rg ;
}
Pessoa ( int cpf ) {
this . cpf = cpf ;
}
}
Quando dois construtores são definidos, há duas opções no momento de utilizar o comando new.
// Chamando o primeiro construtor
Pessoa p1 = new Pessoa ( " 123456 X " ) ;
// Chamando o segundo construtor
Pessoa p2 = new Pessoa (123456789) ;
Construtores chamando construtores
Assim como podemos encadear métodos, também podemos encadear construtores.class Conta {
int numero ;
double limite ;
Conta ( int numero ) {
this . numero = numero ;
}
Conta ( int numero , double limite ) {
this ( numero ) ;
this . limite = limite ;
}
}
Nenhum comentário:
Postar um comentário