Implemente uma classe para representar frações. A sua classe deve necessariamente se chamar Fracao, de modo que seja possível criar objetos do tipo Fracao.
A classe Fracao deve ser colocada dentro de um pacote chamado trab1. A implementação de sua classe deve obedecer às seguintes regras:
Atributos:
Declare os atributos necessários para representar o numerador e o denominador de uma fração.
Construtor:
Disponibilize um ou mais construtores para criar objetos do tipo Fracao.
Métodos:
Disponibilize os seguintes métodos públicos, exatamente com os nomes definidos abaixo e seguindo as regras descritas:
somar(): recebe como parâmetro um objeto do tipo Fracao e soma duas frações (o objeto utilizado na chamada do método e o objeto passado como parâmetro) e retorna o resultado da soma, representado como um objeto do tipo Fracao.
subtrair(): recebe como parâmetro um objeto do tipo Fracao e subtrai duas frações (o objeto utilizado na chamada do método e o objeto passado como parâmetro) e retorna o resultado da subtração, representado como um objeto do tipo Fracao.
multiplicar(): recebe como parâmetro um objeto do tipo Fracao e multiplica duas frações (o objeto utilizado na chamada do método e o objeto passado como parâmetro) e retorna o resultado da multiplicação, representado como um objeto do tipo Fracao.
dividir(): recebe como parâmetro um objeto do tipo Fracao e divide duas frações (o objeto utilizado na chamada do método e o objeto passado como parâmetro) e retorna o resultado da divisão, representado como um objeto do tipo Fracao.
simplificar(): não recebe parâmetros; simplifica uma fração (o objeto utilizado na chamada do método) e não retorna nada. Obs: Para simplificar uma fração, você pode utilizar o algoritmo que calcula o mdc.
toString(): não recebe parâmetros e retorna uma String contendo a representação do objeto Fração utilizado na chamada do método: ?numerador/denominador?.
O resultado retornado pelos métodos somar(), subtrair(), multiplicar() e dividir() deve estar simplificado.
Caso julgue necessário, você pode definir outros métodos em sua classe.