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

Interfaces - Em qual lugar é mais adequado ?

Atividade 3 - Aula 7

É criado uma interface Tributável, ela é utilizada nas classes ContaCorrente e ContaPoupanca, que são filhas da classe Conta, nesse cenário que todos os filhos de uma classe abstrata assinam a interface Tributável, seria correto fazer isso:

public abstract class Conta implements Tributavel

Assinar a interface Tributável diretamente na classe abstrata ? ou eu sempre tenho que fazer com que os filhos, ContaCorrente e ContaPoupanca assinem diretamente ?

public class ContaCorrente extends Conta implements Tributavel
public class ContaPoupanca extends Conta implements Tributavel
1 resposta
solução!

Se você deseja que todas filhas de Conta sejam Tributáveis, a interface deve ser implementada na classe Conta, para evitar repetição de código. Caso haja um novo tipo de conta que não deve ser Tributavel, a interface Tributavel deve ser implementada somente para as outras.

Lembrando que a interface somente deve ser implementada para Conta se houver outras classes que implementam Tributavel e não são Conta — como no exemplo dos Gerente que acessa o sistema interno e é Funcionario e Cliente, que acessa e não herda de Funcionario. Caso contrário, a interface é desnecessária e o código dela pode ser declarado na classe mesmo