Mantenho o Super no construtor ou altero para protected as variáveis na classe Conta?
public class ContaCorrente extends Conta {
public ContaCorrente(String nome, int agencia, double saldo) {
super(nome, agencia, saldo);
}
}
Mantenho o Super no construtor ou altero para protected as variáveis na classe Conta?
public class ContaCorrente extends Conta {
public ContaCorrente(String nome, int agencia, double saldo) {
super(nome, agencia, saldo);
}
}
Oi Marco, tudo bem ?
Cara acho que é super bacana você deixar no super mesmo, assim você força todas as classes a terem esse construtor.
Oi Marco. Beleza?
Você usará o super
quando quiser reaproveitar código da classe mãe. No caso que você que colou, você está chamando o construtor da classe Conta
e pronto. Você poderia também utilizar o super
e depois fazer alguma modificação desejada dentro do construtor de ContaCorrente
também.
Exemplo:
public class ContaCorrente extends Conta {
public ContaCorrente(String nome, int agencia, double saldo) {
super(nome, agencia, saldo);
saldo+=100;
}
}
Veja que no caso acima eu chamei o construtor da classe Conta
, inicializei os atributos conforme o construtor da classe mãe, e adicionei 100 ao saldo.
O protected
não tem muito a ver com a situação. Ele é usado para manter os atributos da classe mãe visíveis somente para as classes que estendem de uma super classe. Porém comumente nós criamos os atributos dentro da própria classe estendida.