Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Dúvida em relação a implementação de interface.

Em relação a interface Tributavel poderia ser implementada diretamente na classe pai Item e, assim, todas as filhas herdariam também certo? Só que dai como ficaria o método do Tributavel na classe pai? E no caso do Brinde que poderia em vez de herdar item e sim o Produto que já tem a interface Tributavel implementada e também herda a classe pai item funciona tudo de acordo caso precise passar algo do Item para brinde, o que eu achei muito interessante, e nesse caso seria uma classe neta kkkk? Muito legal ver como a interface vai se construindo junto com a herança e os objetos vão se relacionando, imagino que para contas aritméticas e adiante que existem no método "Math" usem de interfaces e métodos mais avançados mas que sigam um pouco desse sentido, não? Obrigado.

1 resposta
solução!

Sim, é possível implementar a interface Tributavel diretamente na classe pai Item, e todas as subclasses herdariam essa implementação. Se o método do Tributavel na classe pai precisar de informações específicas das subclasses, você pode tornar esse método abstrato na classe pai e implementá-lo nas subclasses. Quanto ao caso do Brinde, se ele herda a classe pai Item e implementa a interface Tributavel do Produto, isso é conhecido como herança múltipla. Nesse caso, o Brinde seria uma classe filha, herdando tanto de Item quanto de Produto, e isso é uma prática válida. Essa hierarquia de classes em que uma classe herda de outra, que por sua vez herda de outra, é conhecida como herança em cascata ou herança em várias camadas. O conceito de herança é uma forma poderosa de organizar e reutilizar código em programação orientada a objetos. Quanto à sua observação sobre interfaces e métodos mais avançados, você está correto. Em situações mais complexas, interfaces são usadas para definir contratos que as classes devem cumprir. A herança e interfaces são ferramentas fundamentais na construção de sistemas orientados a objetos, permitindo uma organização mais flexível e extensível do código.