Olá, Ana! Tudo bem?
Sei bem que os desafios às vezes possam parecer complicados, especialmente se você está começando com a orientação a objetos e interfaces em Java.
Vou tentar te ajudar com um exemplo simplificado para cada um dos desafios, mas lembre-se de tentar adaptá-los e expandi-los conforme o pedido no curso.
Para o desafio 5:
Interface:
public interface Calculavel {
double calcularPrecoFinal();
}
Classes:
public class Livro implements Calculavel {
private double precoBase;
private double desconto;
public Livro(double precoBase, double desconto) {
this.precoBase = precoBase;
this.desconto = desconto;
}
@Override
public double calcularPrecoFinal() {
return precoBase - (precoBase * desconto / 100);
}
}
public class ProdutoFisico implements Calculavel {
private double precoBase;
private double taxaAdicional;
public ProdutoFisico(double precoBase, double taxaAdicional) {
this.precoBase = precoBase;
this.taxaAdicional = taxaAdicional;
}
@Override
public double calcularPrecoFinal() {
return precoBase + taxaAdicional;
}
}
Para o desafio 6:
Interface:
public interface Vendavel {
double calcularPrecoTotal(int quantidade);
double aplicarDesconto(double desconto);
}
Classes:
public class Produto implements Vendavel {
private double precoUnitario;
public Produto(double precoUnitario) {
this.precoUnitario = precoUnitario;
}
@Override
public double calcularPrecoTotal(int quantidade) {
return precoUnitario * quantidade;
}
@Override
public double aplicarDesconto(double desconto) {
return precoUnitario - (precoUnitario * desconto / 100);
}
}
public class Servico implements Vendavel {
private double precoBase;
private double taxaServico;
public Servico(double precoBase, double taxaServico) {
this.precoBase = precoBase;
this.taxaServico = taxaServico;
}
@Override
public double calcularPrecoTotal(int quantidade) {
return (precoBase + taxaServico) * quantidade;
}
@Override
public double aplicarDesconto(double desconto) {
double precoComTaxa = precoBase + taxaServico;
return precoComTaxa - (precoComTaxa * desconto / 100);
}
}
Esses exemplos são simplificados e você pode precisar ajustá-los. Além disso, não se esqueça de verificar a seção “Ver opinião do instrutor” no seu curso para mais orientações e exemplos.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.