cwicz01 02







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 02
Margit Sandemo Cykl Saga o czarnoksiężniku (02) Blask twoich oczu
t informatyk12[01] 02 101
introligators4[02] z2 01 n
02 martenzytyczne1
OBRECZE MS OK 02
02 Gametogeneza
02 07
Wyk ad 02
r01 02 popr (2)
1) 25 02 2012
TRiBO Transport 02

więcej podobnych podstron