Galera,
Estou estudando orientação a objeto em Java, e um amigo meu me passou um exercício que o professor dele deu a ele na faculdade, para eu treinar meus conhecimentos.

Já fiz inúmeros exercícios com Polimorfismo, Herança, etc, mas estou empacado nessa implementação que envolve mais de um conceito junto. Eu cheguei a criar a classe Venda, mas não entendi como implementar a interface e as classes filhas a partir dela. Alguem poderia me ajudar a entender isso ? Já pesquisei sobre interfaces, porém os exemplos encontrados são todos diferentes desse proposto.
Agradeço pela atenção
A interface é um tipo abstrato de dado, alguma classe concreta precisa implementá-la, no seu caso as seguintes classes:
public class PagamentoAVista implements RegraDePagamento {
// Corpo da classe
}
public class PagamentoAprazo implements RegraDePagamento {
// Corpo da classe
}
1 curtida
Não sei se entendi muito bem a sua duvida, mas nesse caso, você iria colocar um atributo na classe Venda do tipo RegraDePagamento.
public class Venda {
private RegraDePagamento regraDePagamento;
}
Usando a classe Venda você faria isso:
Venda venda = new Venda();
venda.setRegraDePagamento(new PagamentoAVista());
ou
venda.setRegraDePagamento(new PagamentoAprazo());
Isso é polimorfismo.
Cada classe do tipo RegraDePagamento vai implementar o pagar de um jeito.
Por exemplo: no PagamentoAVista será aplicado 5% de desconto no calculo do valorTotal e na PagamentoAPrazo não.
1 curtida
Perfeito,
entendi mais ou menos, vou tentar concluir o exercício. Valeu !!!
Seu exemplo esclareceu muito a ideia, vou implementar. Obrigadão !!!