В классе BankAccount атрибут Balance объявлен как приватный. Как обеспечить возможность изменения баланса только через методы класса?
Информатика 11 класс Инкапсуляция в объектно-ориентированном программировании информатика 11 класс класс BankAccount приватный атрибут Balance изменение баланса методы класса доступ к атрибуту геттер сеттер статический метод защищенный метод
Чтобы обеспечить возможность изменения баланса в классе BankAccount только через методы класса, нужно использовать подход, который обеспечивает инкапсуляцию. Это значит, что мы должны ограничить прямой доступ к приватному атрибуту Balance и предоставить методы для его изменения. Давайте рассмотрим предложенные варианты:
Таким образом, наилучший способ обеспечить изменение баланса только через методы класса - это предоставить доступ к атрибуту через метод сеттер. Вот пример реализации:
class BankAccount {
private double Balance;
public double getBalance() {
return Balance;
}
public void setBalance(double newBalance) {
if (newBalance >= 0) {
Balance = newBalance;
} else {
System.out.println("Баланс не может быть отрицательным.");
}
}
}
В этом примере метод setBalance проверяет, является ли новое значение баланса допустимым, и только затем обновляет его. Это обеспечивает контроль над изменениями атрибута Balance и сохраняет принципы инкапсуляции.