Boa tarde!!
Na minha classe Conta, a qual possui duas filhas: ContaCorrente e ContaPoupanca, eu fiz a validação para lançar exceção quando o valor do método deposita fosse <= 0.
classe Conta{
//Atributos e métodos.
//Método deposita.
public void deposita(double valor){
if (valor > 0){
this.saldo += valor;
}
else{
throw new ValorInvalidoException("Valor não permidito para depósito:");
}
}
}
Porém, a classe ContaPoupanca sobrescreve o método deposita de Conta e acabei fazendo o mesmo tratamento nela, repetindo código:
class ContaPoupanca extends Conta{
//Atributos e métodos.
public void deposita(double valor) {
if (valor < 0) {
throw new ValorInvalidoException("Você tentou depositar um valor negativo: "+valor);
} else {
this.saldo += valor - 0.10;
}
}
}
Há uma forma melhor de fazer isso?
Obrigado!!