Zaprojektuj klasę RationalNumber reprezentującą liczby wymierne jako pary liczb całkowitych (licznik i mianownik), wraz z podstawowymi działaniami arytmetycznymi i porównaniem.
Klasa powinna zawierać odpowiednie konstruktory (przynajmniej RationalNumber(int licznik, int mianownik)), oraz publiczne metody implementujące operacje arytmetyczne.:
Ostatnia metoda pozwoli wypisywać liczbę na konsoli za pomocą System.out.println(..) i nie tylko.
Ważne
Metody 1..4 powinny zwracać jako rezultat referencję do nowego obiektu klasy RationalNumber, będącego wynikiem operacji wykonanej na argumencie arg i adresacie komunikatu.
Wskazówka
Przydatna będzie również prywatna metoda void reduce(), która uprości ułamek (będący adresatem tego komunikatu).
Zadanie domowe 1: Liczby całkowite [2 p.]
W podobny sposób zaprojektuj klasę IntegerNumber reprezentującą liczby całkowite. Uwaga: nie nazywaj tej klasy Integer ani Number ponieważ takie klasy znajdują się w pakiecie java.lang, który jest domyślnie importowany (a więc może powstać konflikt nazw).
Uwaga
W każdej klasie umieść metodę main(...) zawierającą testy prezentujące działanie poszczególnych metod tych klas.
Powyższe klasy będą potrzebne na zajęciach w przyszłości.