Skip to content

Instantly share code, notes, and snippets.

@Vaysman
Created January 13, 2015 14:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Vaysman/d9064cb7bdfd8b2b17d1 to your computer and use it in GitHub Desktop.
Save Vaysman/d9064cb7bdfd8b2b17d1 to your computer and use it in GitHub Desktop.

Упражнение 1

Задача 1

  1. Определить интерфейс Report с единственным методом String getReport()

  2. Создать интерфейс Account, расширяющий интерфейс Report, с методами float getBalance(), void deposit(float x), void withdraw(float x)

  3. Создать класс Client, представляющий клиента банка и реализующий интерфейс Report. У клиента есть имя (уникальное и неизменяемое), указатель на активный счет, список всех счетов. Также клиент должен переопределить метод getReport(), который должен вернуть информацию о клиенте и всех его счетах, вызывая метода getReport() для кажого счета

  4. Создать класс Bank, представляющий банк. У банка есть имя (уникальное и неизменяемое) и храниться список всех клиентов, а также банк должен реализовывать метод getReport(), который вернет информацию о банке и всех клиентах, вызывая метод getReport() для каждого клиента

  5. Создать класс SavingAccount, реализующий интерфейс Account. У него должен быть уникальный идентификатор. Он должен иметь конструктор, принимающий начальное значение баланса, а также методы deposit(x), добавляющий значение x к балансу и withdraw(x), уменьшающий баланс на x в случае. Необходимо реализовать метод getBalance(), возвращающий текущее значение баланса счета. Также необходимо реализовать метод getReport(), возвращающий информацию о данном счете: тип счета и баланс

  6. Создать класс BankApplication со статическими методами:

    1. BankApplication.initialize(), который создает несколько клиентов банка, устанавливает начальное значение баланса на их счетах
    2. BankApplication.modifyBank(), который изменяет значение баланса (методы deposit() и withdraw()) для некоторых счетов клиентов банка
    3. BankApplication.printBankReport(), выводящий их счета (значения баланса) всех клиентов банка. Метод должен вызывать getReport() и выводить полученый отчен на экран
  7. В методе BankApplication.main() необходимо последовательно вызвать:

    1. BankApplication.initialize() – заполнить доменную модель данными
    2. BankApplication.printBankReport() – вывести на печать данные банка
    3. BankApplication.modifyBank() – внести изменения в данные
    4. BankApplication.printBankReport() – вывести на печать данные банка после изменений
  8. Запустите на исполнение класс BankApplication и убедитесь в корректности его работы.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment