1
resposta

[Dúvida] Não entendi a Questão 05

  1. Crie uma interface Calculavel com um método double calcularPrecoFinal(). Implemente essa interface nas classes Livro e ProdutoFisico, cada uma retornando o preço final considerando descontos ou taxas adicionais.

Gente, boa noite. Não consegui entender o que é pra fazer... e a resposta ficou mais confusa ainda.

Por exemplo, se eu estruturar a classe Produto (O qual nem menciona na questão, apenas na resposta, wtf?), eu chego com 2 tipos de métodos que pensei aqui:

public void aplicarDesconto (double percentual) {
        double desconto = preco * (percentual / 100);
        preco -= desconto;
    }

    public void taxaAdicional (double distancia) {
        if (distancia <= 0) {
            double frete = preco + 0;
            return;
        } else if (distancia <= 5) {
            double frete = preco + 10;
            return;
        } else {
            double frete = preco + 20;
            return;
        }
    }

Porém, não consigo entender como usar o Implements Calculavel. O que faço com ele? Como usar esses métodos que fiz nas outras Classes? Ou qual seria o "sentido" correto da questão?

Fico no aguardo de explicações, obrigado.

1 resposta

Criando a interface Calculavel com o método double calcularPrecoFinal()

public interface Calculavel{
    double calcularPrecoFinal();
}

Agora implemente a interface na classe Livro e ProdutoFisico

public class Livro implements Calculavel {
    private double preco;
    private double desconto;

// Construtor e outros métodos...

    @Override
    public double calcularPrecoFinal() {
        double precoFinal = preco - (preco * desconto / 100);
        return precoFinal;
    } 
}

public class ProdutoFisico implements Calculavel {

    private double preco;
    private double taxaAdicional;
    
    // Construtor e outros métodos...

    @Override
    public double calcularPrecoFinal() {
        double precoFinal = preco + taxaAdicional;
        return precoFinal;
    } 
}

Este é apenas um exemplo de código, mas faça conforme sua lógica, com o que está pedindo.