Задание 1
В этом задании вы используете массив для создания множественной ассоциации между банком и его
клиентами
Вы создадите класс Банк, который обслуживает несколько клиентов. Связь между банками и
клиентами будет осуществляться через массив объектов класса Customer в классе Банк. За
поддержание связи должен отвечать класс Банк. Необходимо будет также использовать атрибут для
хранения текущего количества клиентов.
Задание 2
Вы создадите два новых класса банковских счета:
- накопительный счет: банк позволяет клиентам вкладывать/снимать деньги с накопительного счета в
любое время. Ежемесячно, сумма на накопительном счете увеличивается на определенный процент
- расчетный счет: банк позволяет клиентам вкладывать/снимать деньги с расчетного счета в любое
время. На расчетном счете присутствует услуга овердрафта: банк позволяет клиентам снимать
средства со счета, превышающие текущий баланс счета, но не более, чем на величину овердрафта,
заданную при создании счета. Допустимая величина овердрафта уменьшается при использовании и не
подлежит восстановлению.
1. Модифицируйте класс Account: измените спецификаторы доступа для поля balance и
конструктора на protected
2. Создайте класс SavingsAccount (накопительный счет), наследующий от класса Account.
3. В классе SavingsAccount создайте:
a. закрытое поле interestRate (месячная процентная ставка)
b. конструктор с двумя параметрами – начальным балансом счета и процентной ставкой;
конструктор должен вызывать конструктор родительского класса (Account)
4. Создайте класс CheckingAccount (расчетный счет), наследующий от класса Account.
5. В классе CheckingAccount создайте:
a. закрытое поле overdraftAmount (допустимая величина овердрафта)
b. конструктор с двумя параметрами – начальным балансом счета и допустимой
величиной овердрафта; конструктор должен вызывать конструктор родительского
класса (Account)
c. конструктор с одним параметром - начальным балансом счета; величину овердрафта
считать равной 0; конструктор должен вызывать ранее определенный конструктор с
двумя параметрами
d. переопределенный метод withdraw, учитывающий особенности счета (овердрафт)
6. Протестируйте работу созданных классов на следующих примерах:
a. клиент с накопительным счетом
b. клиент с расчетным счетом
c. два клиента с общим расчетным счетом
Задание 3
Вы модифицируете систему банка, позволив клиенту иметь несколько (до 5) счетов различного вида