Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.ref;
- /**
- * Пример внутреннего класса
- * Нестатические вложенные классы называются внутренними.
- * Non-static nested classes are called inner classes.
- */
- public class Account {
- private final String number;
- private final String owner;
- private int amount;
- public Account(final String number, final String owner) {
- this.number = number;
- this.owner = owner;
- }
- public String getNumber() {
- return number;
- }
- public String getOwner() {
- return owner;
- }
- public int getAmount() {
- return amount;
- }
- /**
- * Метод, снятия денег
- *
- * @param amountToWithdraw сумма, для вывода средств
- */
- private void withdraw(int amountToWithdraw) {
- if (amountToWithdraw <= 0) {
- System.out.println("Введена некорректная сумма для снятия.");
- }
- if (amountToWithdraw > amount) {
- System.out.println("На карте недостаточно средств для снятия. Баланс: " + amount);
- return;
- }
- amount -= amountToWithdraw;
- }
- /**
- * Метод, пополняющий счёт
- *
- * @param amountToDeposit сумма, на которую вы хотите пополнить счёт
- * @return сумму депозита
- */
- private void replenish(int amountToDeposit) {
- if (amountToDeposit <= 0) {
- System.out.println("Введена некорректная сумма для пополнения баланса.");
- return;
- }
- amount += amountToDeposit;
- }
- /**
- * Внутренний класс
- * Inner class
- */
- public class Card {
- private final String number;
- private final String name;
- private final Account account;
- public Card(String name, String number, Account account) {
- this.name = name;
- this.number = number;
- this.account = account;
- }
- public String getNumber() {
- return number;
- }
- public void withdraw(final int amountToWithdraw) {
- account.withdraw(amountToWithdraw);
- }
- public void replenish(final int amountToDeposit) {
- account.replenish(amountToDeposit);
- }
- public String getName() {
- return name;
- }
- public Account getAccount() {
- return account;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement