Você foi designado para criar um programa que manipula strings de várias maneiras. Para isso, você deve seguir as etapas abaixo:
Crie a interface Operacao que declare um método Double calcular(Double x, Double y)
para manipulação de strings. Além disso, anote a interface com @FunctionalInterface
.
Implemente a classe Adicao que implementa a interface Operacao. Esta classe deve conter um método para retornar a soma entre os dois valores.
Implemente a classe Divisao que implementa a interface Operacao. Esta classe deve conter um método para retornar a divisão do primeiro valor pelo segundo.
Crie uma classe principal com o método main do seu programa, crie objetos das classes Adicao e Divisao e teste os métodos implementados. Imprima os retornos das chamadas do método calcular
ao enviar dois argumentos escolhidos por você.
Atribua os objetos criados a uma mesma variável do tipo Operacao para aplicar polimorfismo.
Na função principal (main), faça uma expressão lambda (função anônima) que implementa a interface Operacao. Essa expressão deve retornar a exponenciação entre os dois valores, sendo o primeiro a base e o segundo o expoente. Faça uma terceira atribuição, à mesma variável usada até agora, mas agora da lambda criada. Imprima o retorno da chamada do método calcular
ao enviar dois argumentos escolhidos por você.
Altere o tipo da variável criada no método main por uma interface que já vem no Java, especificamente do pacote java.util.function
. Você deverá encontrar uma interface que se adéque aos tipos usados no exercício - existem múltiplas opções. Essas interfaces estão descritas na documentação oficial do Java. Para auxiliar, neste arquivo, você encontra a versão traduzida.
Substitua as atribuições de objetos realizadas no passo 4 por expressões lambda, sem alterar as funcionalidades. A criação do objeto da classe Adicao deverá ser a implementação de uma soma e a criação do objeto da classe Divisao deverá ser a implementação de uma divisão, sempre mantendo a mesma ordem de uso dos parâmetros mencionados naquele passo.
Troque o nome das chamadas do método calcular
pelo nome do método característico da interface escolhida, para que o programa volte a funcionar corretamente.
Crie um método na classe principal com a mesma assinatura do método calcular
da interface (mesmo nome, mesmo tipo de retorno e mesma quantidade, ordem e tipos de parâmetros). Esse método deve retornar a subtração do primeiro parâmetro pelo segundo.
O método criado deve ser estático pois será referenciado do método main, que também é estático.
Perceba que neste momento, alguns arquivos do execício (interface e classes que a implementam) não são mais necessários. É opcional excluir esses arquivos neste ponto do exercício.
Atribua a referência do método criado no passo anterior à variável da main. Novamente, imprima o retorno da chamada do método calcular
ao enviar dois argumentos escolhidos por você.