WPR 01-02
Budowanie klas
Polimorfizm: wstęp
Zadanie 1: Liczby wymierne
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.:
dodawanie: RationalNumber add(RationalNumber arg);
mnożenie: RationalNumber mul(RationalNumber arg);
odejmowanie: RationalNumber sub(RationalNumber arg);
dzielenie: RationalNumber div(RationalNumber arg);
równość: boolean equals(Object arg);
porównania:
boolean lessThan(RationalNumber arg)
boolean greaterThan(RationalNumber arg)
boolean lessThanOrEqual(RationalNumber arg)
boolean greaterThanOrEqual(RationalNumber arg)
tekstowa reprezentacja liczby: String toString();
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.
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).
Uwagi
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.
Wyszukiwarka
Podobne podstrony:
cwicz01 02Margit Sandemo Cykl Saga o czarnoksiężniku (02) Blask twoich oczut informatyk12[01] 02 101introligators4[02] z2 01 n02 martenzytyczne1OBRECZE MS OK 0202 Gametogeneza02 07Wyk ad 02r01 02 popr (2)1) 25 02 2012TRiBO Transport 02więcej podobnych podstron