/
kai_mai
/
AbstractClassTask
Обзор
Документация
Войти
/
kai_mai
/
AbstractClassTask
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
CreditAccount.java
46 строк
2 KB
Катя Майборода
upload files
07 ноя 2025, 11:10
07 ноя 2025, 11:10
5d56f55
Код
Авторство
О чём код?
public class CreditAccount extends Account { // кредитный счёт, который может уходить в минус до кредитного лимита, указанного в конструкторе, но не может уходить в плюс long creditLimit; // максимальный минус (всегда положительное число) @Override public void setBalance(long balance) { // инкапсуляция, пишем set(сеттер) (поменять/установить) if (balance > 0 || balance < creditLimit) { return; } this.balance = balance; } public CreditAccount(long creditLimit) { // конструктор if (creditLimit < 0) { System.out.println("Кредитный лимит не может быть отрицательным"); } this.creditLimit = creditLimit; this.balance = 0; // начинаем с нуля } @Override public boolean add(long amount) { if (amount <= 0) { return false; } // пополнение уменьшает долг, но баланс не может быть > 0 balance += amount; if (balance > 0) { balance = 0; // всё, что "лишнее", исчезает } return true; } @Override public boolean pay(long amount) { if (amount <= 0) { return false; } long newBalance = balance - amount; // минимально возможный баланс = -creditLimit if (newBalance < -creditLimit) { return false; // превысим лимит } balance = newBalance; return true; } }