Sobes.tech
Назад к вопросам
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, которые контролируют корректность операций.