Część 1: Proszę napisać klasę Money, która będzie reprezentowała
Transkrypt
Część 1: Proszę napisać klasę Money, która będzie reprezentowała
Część 1: Proszę napisać klasę Money, która będzie reprezentowała pewną ilość pieniędzy. Klasa powinna zawierać metodę zwracającą ilość. Dane te powinny być inicjalizowane w konstruktorze podczas tworzenia obiektu. Klasa powinna implementować następujący interfejs: public interface IMoney { double getAmount(); } Część 2: Proszę przysłonić metodę equals() w klasie Money, tak, aby poprawnie porównywała dwa obiekty klasy Money bazując jedynie na ilości pieniędzy (wartości pola amount). Przykład: System.out.println(new Money(5).equals(new Money(5))); System.out.println(new Money(5).equals(new Money(6))); Wynik działania programu: true false Część 3: Proszę utworzyć dwie klasy potomne klasy Money (dziedziczące po Money): Dollar oraz Franc. Proszę zmodyfikować metodę equals() klasy Money tak, aby dla dwóch obiektów reprezentujących tę samą wartość, ale w innej walucie zwracała ona wartość false. Przykład: System.out.println(new Dollar(5).equals(new Franc(5))); Wynik działania programu: false Część 4: Proszę dodać metodę add() do klasy Dollar oraz klasy Franc. Metoda ta powinna dodawać pieniądze tej samej waluty do siebie. Np.: Dollar dollar = new Dollar(5); System.out.println(dollar.getAmount()); dollar.add(new Dollar(6)); System.out.println(dollar.getAmount()); Wynik działania programu: 5.0 11.0 Część 5: Proszę utworzyć klasę Exchange zawierającą przeliczniki walut. Klasa ta powinna zawierać dwie metody: dollarToFrancRatio() oraz francToDollarRatio(). Metody te powinny zwracać przelicznik dla walut. Np.: Exchange exchange = new Exchange(0.5, 2); System.out.println(exchange.dollarToFrancRatio()); System.out.println(exchange.francToDollarRatio()); Wynik działania programu: 0.5 2.0 Część 6: Proszę dodać do klasy Exchange metody dollarToFranc() oraz francToDollars(). Metoda dollarToFranc() powinna przeliczać dolary na franki zgodnie z ustalonym przelicznikiem. Metoda francToDollar() powinna przeliczać franki na dolary. Np.: Dollar dollar1 = new Dollar(3); Exchange exchange = new Exchange(0.5, 2); Franc franc = exchange.dollarToFranc(dollar1); System.out.println(franc.getAmount()); Dollar dollar2 = exchange.francToDollar(franc); System.out.println(dollar2.getAmount()); Wynik działania programu: 6.0 3.0 Część 7: Proszę zmodyfikować metody add() w klasie Dollar i Franc tak, aby podczas dodawania automatycznie dokonywały przewalutowania. Przykład: Dollar dollar = new Dollar(3); Franc franc = new Franc(2); dollar.add(franc); System.out.println(dollar); Wynik działania programu: 7.0