Oi, Augusto. Como vai?
Obrigada por compartilhar seu código com a comunidade Alura.
Gostei bastante da forma como você estruturou a classe Pagamento como abstrata e utilizou interface para o cálculo de taxa em CartaoCredito e Boleto.
Essa decisão mostra um bom entendimento de herança e polimorfismo, permitindo que todos os tipos sejam tratados como Pagamento no main. Isso deixa o código mais organizado, desacoplado e preparado para receber novos meios de pagamento no futuro, sem grandes alterações na estrutura principal.
Uma sugestão de melhoria é sobrescrever o método toString() nas classes, para facilitar a exibição das informações do objeto e evitar repetição de código ao imprimir dados. Por exemplo:
@Override
public String toString() {
return "Valor: R$" + valor;
}
Dessa forma, você pode utilizar diretamente:
System.out.println(objeto);
Isso torna o código mais limpo, reutilizável e alinhado às boas práticas de orientação a objetos.
Continue praticando. Sua base em conceitos de POO está bem construída e isso fará diferença nos próximos desafios.
Conte com o apoio da comunidade Alura na sua jornada. Bons estudos.