1
resposta

Hora da prática - Interface part 2

EXERCICIO 4:

// interface 

public interface ConversorDeTemperatura {
    double celsiusParaFahrenheit(double temperaturaCelsius);
    double fahrenheitParaCelsius(double temperaturaFahrenheit);


}


// classe

public class ConversorDeTemperaturaPadrao implements ConversorDeTemperatura {

    @Override
    public double celsiusParaFahrenheit(double temperaturaCelsius) {
        return (temperaturaCelsius * 9 / 5) + 32;
    }

    @Override
    public double fahrenheitParaCelsius(double temperaturaFahrenheit) {
        return (temperaturaFahrenheit - 32) * 5 / 9;
    }
}


// teste 

public class Teste {
    static void main(String[] args) {
        ConversorDeTemperatura conversor = new ConversorDeTemperaturaPadrao();

            double temperaturaCelsius = 25;
            double temperaturaFahrenheit = conversor.celsiusParaFahrenheit(temperaturaCelsius);
             System.out.println(temperaturaCelsius + " Celsius é igual a " + temperaturaFahrenheit + " Fahrenheit.");


             temperaturaFahrenheit = 79;
             temperaturaCelsius = conversor.fahrenheitParaCelsius(temperaturaFahrenheit);
        System.out.println(temperaturaFahrenheit + " Fahrenheit é igual a " + temperaturaCelsius + " Celsius.");


    }
}


====

EXERCICIO 5:

// interface 

public interface Calculavel {
    double calcularPrecoFinal();


}

// classe Livro

public class Livro  implements Calculavel {
        private double preco;

        public Livro (double preco) {
            this.preco = preco;
        }

    @Override
    public double calcularPrecoFinal() {
        return preco * 0.9;
    }
}




// classe produto 


public class ProdutoFisico implements Calculavel {
    private double preco;
    public ProdutoFisico (double preco) {
        this.preco = preco;

    }
    public double calcularPrecoFinal () {
        return preco * 1.05;
    }

}


// teste 

public class Teste {
    static void main(String[] args) {
        Calculavel livro = new Livro(100);

        Calculavel produto = new ProdutoFisico(100);

        System.out.println("Preço final do livro: " + livro.calcularPrecoFinal());
        System.out.println("Preço final do produto físico: " + produto.calcularPrecoFinal());
    }
}


====

EXERCICIO 6:

// interface
public interface Vendavel {
    double calcularPrecoTotal (int quantidade);
    double aplicarDesconto (double percentualDesconto);


}


// classe produto

public class Produto implements Vendavel {
    private String nome;
    private double precoUnitario = 5.50;


    @Override
    public double calcularPrecoTotal(int quantidade) {
        return precoUnitario * quantidade;
    }

    @Override
    public double aplicarDesconto(double percentualDesconto) {
        precoUnitario -= precoUnitario * (percentualDesconto / 100.0);
        return precoUnitario;
    }
}


// classe servico

public class Servico implements Vendavel {
    private String descricao;
    private double precoHora = 4.50;


    @Override
    public double calcularPrecoTotal(int quantidade) {
         return precoHora * quantidade;
    }

    @Override
    public double aplicarDesconto(double percentualDesconto) {
        precoHora -= precoHora * (percentualDesconto / 100.0);
        return precoHora;
    }

}

// teste 

public class Teste {
    static void main(String[] args) {
        Vendavel produto = new Produto();

        System.out.println(produto.calcularPrecoTotal(2));

        produto.aplicarDesconto(10);
        System.out.println(produto.calcularPrecoTotal(2));

        Vendavel servico = new Servico();

        System.out.println(servico.calcularPrecoTotal(5));

        servico.aplicarDesconto(10);

        System.out.println(servico.calcularPrecoTotal(5));
    }
}

1 resposta

Olá, Laila, tudo bem?

Parabéns pela resolução dos exercícios!

Você aplicou corretamente o conceito de interfaces, utilizando a palavra-chave implements, a anotação @Override e definindo os contratos nos métodos. As lógicas de conversão e cálculo de preços também estão muito boas.

Continue praticando, você está no caminho certo na Orientação a Objetos.

Bons estudos!

Sucesso

Imagem da comunidade