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

Podobne dokumenty