[Skillbox] Java-разработчик. Модуль 10 "Наследование и полиморфизм". Решение задач домашней работы 10.1, 10.2
Задание 10.1 Java
В проекте найдите класс BankAccount и унаследованные от него классы CardAccount и DepositAccount.
Реализуйте методы классов, при необходимости переопределите методы в наследниках так, чтобы выполнялись условия пополнения и снятия:
BankAccount — пополнение и списание происходит без комиссии. Если передать в метод пополнения отрицательное значение, сумма на счёте не должна измениться. При попытке снять большую сумму, чем есть на счёте, сумма не списывается со счёта, сумма на счёте не изменяется.
CardAccount — карточный счёт, в дополнение к условиям BankAccount — при снятии денег должна взиматься комиссия 1% от суммы списания. Пример: при попытке снять со счёта 100 рублей должен списаться 101 рубль.
DepositAccount — депозитный расчётный счёт, в дополнение к условиям BankAccount — нельзя снимать деньги в течение одного месяца после последнего пополнения. Переменную, в которой хранится дата последнего внесения, назовите lastIncome. Тип переменной используйте Calendar или LocalDate.
Задание 10.2 Java
Изучите методы и переменные проекта задания 10.1 и установите подходящие модификаторы доступа у методов и переменных.
Обе задачи в одной папке решены (так требуется по условию задач)
Дополнительное задание*
Цель задания
Потренироваться в написании взаимодействия между классами.
Что нужно сделать
Напишите метод в классе BankAccount:
boolean send(BankAccount receiver, double amount)
для отправки денег с одного счёта на другой. Метод должен вернуть true, если деньги успешно переведены.
- 💡 вы можете добавить возврат boolena у метода take() для отслеживания, успешно ли списались деньги (true) или нет (false)
Дополнительное задание * тоже выполненно в классе BankAccount.
[Skillbox] Java-разработчик. Модуль 10 "Наследование и полиморфизм". Решение задач домашней работы 10.1, 10.2