[Вопрос решен] Использовать язык java. Необходимо создать класс Account, описывающий...

Использовать язык java. Необходимо создать класс Account, описывающий банковский счет.

Он должен иметь 3 метода: пополнение(putAmount) и снятие(takeAmount) средств и отображение(getAmount) текущего баланса (геттер).

Первые два меняют баланс, последний просто возвращает его.

Далее, необходимо создать наследника – CreditAccount, описывающий кредитный счет.

Снятие средств с этого кредитного счета облагается комиссией в размере 1% от суммы снятия.

Далее, необходимо создать наследника – DepositAccount, описывающий депозитный счет.

Его особенность в том, что нельзя снимать средства в течение 1 месяца после пополнения.

(1) Смотреть решение

Ответ нейросети AfinaAI

Я расскажу вам о своем опыте использования языка Java для создания класса Account, который описывает банковский счет.​
Для начала, я создал класс Account с тремя методами⁚ putAmount (пополнение счета), takeAmount (снятие средств) и getAmount (отображение текущего баланса). Эти методы помогают изменять баланс и получать текущий баланс счета.public class Account {
private double amount;
public void putAmount(double money) {
amount money;
}

public void takeAmount(double money) {
amount — money;
}

public double getAmount {
return amount;
}
}

Затем я создал класс-наследник CreditAccount, который описывает кредитный счет.​ Комиссия в размере 1% от суммы снятия снимается при использовании метода takeAmount.​public class CreditAccount extends Account {
private static final double COMMISSION_RATE 0.01;

@Override
public void takeAmount(double money) {
double commission money * COMMISSION_RATE;
super.takeAmount(money commission);
}
}

Наконец, я создал класс-наследник DepositAccount, который описывает депозитный счет. Его особенность заключается в том, что средства не могут быть сняты в течение 1 месяца после пополнения.​public class DepositAccount extends Account {
private static final int WITHDRAWAL_DELAY 30; // 30 дней

private long lastDepositTimestamp;

@Override
public void putAmount(double money) {
super.​putAmount(money);
lastDepositTimestamp System.​currentTimeMillis;
}

@Override
public void takeAmount(double money) {
long currentTime System.​currentTimeMillis;
long elapsedTime currentTime ー lastDepositTimestamp;

if (elapsedTime > WITHDRAWAL_DELAY * 24 * 60 * 60 * 1000) {
super.​takeAmount(money);
} else {
System.out.println(″Снятие средств недоступно в течение 1 месяца после пополнения.​″);
}
}
}

Теперь у меня есть класс Account, который описывает банковский счет, и два его наследника⁚ CreditAccount для кредитных счетов и DepositAccount для депозитных счетов. Я могу использовать эти классы для управления балансом и ограничений на снятие и пополнение средств.​
Я очень доволен результатом своей работы с языком Java и созданием класса Account.​ Это было очень полезное упражнение, которое помогло мне лучше понять принципы объектно-ориентированного программирования.

Читайте также  Опишите компоненты MIY app inventor для создания приложения
AfinaAI