Zadania do wykonania

Zadanie 1  - zbiorniki (2 punkty)

Zadanie 2 - konta bankowe (max. 5 punktów)



Zadanie 1  - Zbiorniki

Zdefiniować klasę Zbiornik, której obiekty będą stanowić zbiorniki wody. Każdy zbiornik ma zadaną pojemność, numer oraz aktualny stan wody. Zbiorniki są numerowane automatycznie: pierwszy stworzony w  programie otrzymuej numer 1, każdy następny o 1 większy od poprzedniego.
Metody dolej(double woda), odlej(double woda) pozwalają zmieniać stan wody poprzez dolewanie i odlewanie. Metoda przelej(...) przelewa wodę z jednego zbiornika do innego.
Dostarczyć też metody public String toString(), która zwraca opis zbiornika w postaci "Zbiornik nr N, stan wody W".



Zadanie 2 - Konta bankowe

Napisać program, który symuluje operacje na kontach bankowych.
Konta są obiektami klasy Account. Każde konto ma aktualny stan (balance) i można:
Stopa oprocentowania jest wspólna dla wszystkich kont i ustalana za pomocą metody setInterestRate(...).

Konta posiadają klienci banku (obiekty klasy BankCustomer). W roli klienta występuje osoba (obiekt klasy Person).

Dostarczyć takich definicji w/w klas, aby poniższy program:
class BankingTest {

public static void main(String[] args) {

Person janP = new Person("Jan"),
alaP = new Person("Ala");

BankCustomer jan = new BankCustomer(janP);
BankCustomer ala = new BankCustomer(alaP);

jan.getAccount().deposit(1000);
ala.getAccount().deposit(2000);
jan.getAccount().transfer(ala.getAccount(), 500);
ala.getAccount().withdraw(1000);

System.out.println(jan);
System.out.println(ala);

Account.setInterestRate(4.5);
jan.getAccount().addInterest();
ala.getAccount().addInterest();

System.out.println(jan);
System.out.println(ala);
}

wyprowadził następującą informację:

Klient: Jan stan konta 500.0
Klient: Ala stan konta 1500.0
Klient: Jan stan konta 522.5
Klient: Ala stan konta 1567.5