Назад к вопросам
Junior — Middle
65
Можете объяснить, что означает инкапсуляция методов в объектно-ориентированном программировании?
Ответ от нейросети
sobes.tech AI
Инкапсуляция в объектно-ориентированном программировании — это принцип, который позволяет скрыть внутренние детали реализации объекта и предоставить доступ к данным и методам только через определённый интерфейс.
Это достигается с помощью ограничения доступа к методам и полям класса:
- Публичные методы и поля доступны из любого места.
- Защищённые (protected) — доступны внутри класса и его наследников (в Java — с помощью модификатора
protected). - Приватные (private) — доступны только внутри самого класса.
Инкапсуляция помогает:
- Защитить данные от некорректного использования.
- Скрыть сложность реализации.
- Обеспечить контроль над изменением состояния объекта.
Пример на Java:
public class BankAccount {
private double balance; // скрытое поле
public BankAccount(double initialBalance) {
this.balance = initialBalance;
}
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
public void withdraw(double amount) {
if (amount > 0 && amount <= balance) {
balance -= amount;
}
}
public double getBalance() {
return balance;
}
}
Здесь поле balance скрыто от прямого доступа, а изменение баланса возможно только через методы deposit и withdraw, которые контролируют корректность операций.