Skip to content

Latest commit

 

History

History
98 lines (77 loc) · 3.89 KB

File metadata and controls

98 lines (77 loc) · 3.89 KB

Класс BankAccount: методы с проверкой условий

Этот пример показывает, как методы могут изменять состояние объекта и принимать решения на основе значений полей.
У меня есть класс BankAccount с методами deposit() (пополнение) и withdraw() (снятие с проверкой баланса).


Класс BankAccount (поля и методы)

class BankAccount {
    String owner;
    double balance;

    public void printInfo() {
        System.out.println(owner + ": " + balance + "\n" + isActive + "\n");
    }

    public void deposit(double amount) {
        balance += amount;
    }

    public void withdraw(double amount) {
        if (amount > balance) {
            System.out.println("Недостаточно средств для снятия");
        } else {
            balance -= amount;
        }
    }
}

Класс BankAccountMain (создание объектов и вызов методов)

public class BankAccountMain {
    public static void main(String[] args) {
        BankAccount one = new BankAccount();
        one.owner = "Заказчик 1";
        one.balance = 1000.00;
        one.deposit(10000);   // пополняем на 10000
        one.withdraw(500);    // снимаем 500
        one.printInfo();

        BankAccount two = new BankAccount();
        two.owner = "Заказчик 2";
        two.balance = 5000.00;
        two.deposit(5000);    // пополняем на 5000
        two.printInfo();
        two.withdraw(12000);  // пытаемся снять 12000 (больше чем есть)
    }
}

Вывод в консоли

Заказчик 1: 10500.0

Заказчик 2: 10000.0
Недостаточно средств для снятия

Что я узнала

  • Метод может принимать решения через if — проверять условия
  • withdraw() сначала проверяет, хватает ли денег
  • Если денег достаточно — снимает, если нет — выводит сообщение и не меняет баланс
  • Методы могут изменять состояние объекта (deposit(), withdraw())

Как работает withdraw()

Для заказчика 1

Шаг balance до amount Результат
Начало 1000.0
deposit(10000) 1000.0 → 11000.0 10000 ✅ balance = 11000.0
withdraw(500) 11000.0 → 10500.0 500 ✅ баланс уменьшился

Для заказчика 2

Шаг balance до amount Результат
Начало 5000.0
deposit(5000) 5000.0 → 10000.0 5000 ✅ balance = 10000.0
withdraw(12000) 10000.0 12000 ❌ Недостаточно средств (balance остался 10000.0)

Мои заметки

  • if (amount > balance) — проверка, хватает ли денег balance -= amount — сокращённая запись для balance = balance - amount
  • Если условие не выполняется (денег достаточно) — снимаем
  • Если условие выполняется (денег не хватает) — выводим сообщение и НЕ меняем баланс
  • Это называется валидация — проверка данных перед действием

⭐ Теперь я умею создавать методы, которые не только изменяют состояние объекта, но и проверяют условия. Это уже ближе к реальным программам!