/
h2r
/
Abstractions_and_interfaces
Обзор
Документация
Войти
/
h2r
/
Abstractions_and_interfaces
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Account.java
31 строка
1 KB
h2r
Абстракции и интерфейсы
03 ноя 2025, 07:15
03 ноя 2025, 07:15
698c278
Код
Авторство
О чём код?
public abstract class Account { protected long balance; protected Logger logger; public Account(Logger logger) { this.logger = logger; } abstract boolean add(long amount); abstract boolean pay(long amount); public boolean transfer(Account account, long amount) { if (this.pay(amount)) { if (account.add(amount)) { logger.log("Переведено на сумму: " + amount + " из " + this.getClass().getSimpleName() + " на " + account.getClass().getSimpleName()); return true; } else { this.add(amount); // отмена списания logger.log("Отмена операции: невозможно добавить сумму на целевой счет"); } } else { logger.log("Отмена операции: невозможно оплатить сумму с исходного счета"); } return false; } public long getBalance() { return balance; } }