Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Dúvida sobre Interface

"Para ambos os casos, a CalculadoraImposto irá chamar o método implementado na classe específica. Ou seja, para um produto, irá chamar o método getTotalImposto implementado na classe Produto. E para um serviço, irá chamar o método getTotalImposto implementado na classe Servico." Esta informação refere se que cada classe que implementa o método da interface, pode adaptar ele conforme a necessidade de cada classe seguindo o princípio do polimorfismo?

2 respostas
solução!

Olá, Gustavo. Tudo bem?

O que você descreveu está relacionado ao conceito de polimorfismo em Java. Quando uma classe implementa uma interface, ela se compromete a fornecer uma implementação concreta para os métodos definidos na interface. Isso permite que diferentes classes implementem esses métodos de maneiras distintas, conforme suas necessidades específicas.

No seu exemplo, tanto a classe Produto quanto a classe Servico implementam a interface Tributavel, cada uma fornecendo sua própria lógica para o método getValorImposto(). Isso significa que a CalculadoraImposto pode chamar getValorImposto() em qualquer objeto que implemente Tributavel, e o método correto será executado com base no tipo do objeto (se é um Produto ou um Servico), demonstrando o polimorfismo.

Por exemplo, se você tiver uma lista de objetos Tributavel que contém tanto Produto quanto Servico, você pode iterar sobre essa lista e calcular o imposto total sem se preocupar com o tipo específico de cada objeto. A interface garante que todos eles terão o método getValorImposto() implementado.

Espero ter ajudado.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Obrigado Renan, consegui entender melhor agora.