Oi, Weid! Como vai?
No seu projeto, chamou atenção o uso de herança, interfaces e polimorfismo de forma clara, criando uma abstração com OperacaoBancaria e delegando o comportamento específico para Deposito e Saque, o que deixa o código organizado e fácil de manter.
Uma dica interessante para o futuro é usar toString() para centralizar como a operação é exibida, evitando repetição de lógica nas classes filhas. Veja este exemplo:
public abstract class OperacaoBancaria implements AcaoBancaria {
private double valor;
public OperacaoBancaria(double valor) {
this.valor = valor;
}
public double getValor() {
return valor;
}
@Override
public String toString() {
return "Valor da operacao: " + valor;
}
}
Esse código sobrescreve toString para retornar uma descrição padrão da operação, facilitando exibição e reutilização.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!