-
Определить интерфейс Report с единственным методом String getReport()
-
Создать интерфейс Account, расширяющий интерфейс Report, с методами float getBalance(), void deposit(float x), void withdraw(float x)
-
Создать класс Client, представляющий клиента банка и реализующий интерфейс Report. У клиента есть имя (уникальное и неизменяемое), указатель на активный счет, список всех счетов. Также клиент должен переопределить метод getReport(), который должен вернуть информацию о клиенте и всех его счетах, вызывая метода getReport() для кажого счета
-
Создать класс Bank, представляющий банк. У банка есть имя (уникальное и неизменяемое) и храниться список всех клиентов, а также банк должен реализовывать метод getReport(), который вернет информацию о банке и всех клиентах, вызывая метод getReport() для каждого клиента
-
Создать класс SavingAccount, реализующий интерфейс Account. У него должен быть уникальный идентификатор. Он должен иметь конструктор, принимающий начальное значение баланса, а также методы deposit(x), добавляющий значение x к балансу и withdraw(x), уменьшающий баланс на x в случае. Необходимо реализовать метод getBalance(), возвращающий текущее значение баланса счета. Также необходимо реализовать метод getReport(), возвращающий информацию о данном счете: тип счета и баланс
-
Создать класс BankApplication со статическими методами:
- BankApplication.initialize(), который создает несколько клиентов банка, устанавливает начальное значение баланса на их счетах
- BankApplication.modifyBank(), который изменяет значение баланса (методы deposit() и withdraw()) для некоторых счетов клиентов банка
- BankApplication.printBankReport(), выводящий их счета (значения баланса) всех клиентов банка. Метод должен вызывать getReport() и выводить полученый отчен на экран
-
В методе BankApplication.main() необходимо последовательно вызвать:
- BankApplication.initialize() – заполнить доменную модель данными
- BankApplication.printBankReport() – вывести на печать данные банка
- BankApplication.modifyBank() – внести изменения в данные
- BankApplication.printBankReport() – вывести на печать данные банка после изменений
-
Запустите на исполнение класс BankApplication и убедитесь в корректности его работы.
Created
January 13, 2015 14:12
-
-
Save Vaysman/d9064cb7bdfd8b2b17d1 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment