Что такое инкапсуляция в ООП

«Что такое инкапсуляция в ООП» — вопрос из категории ООП, который задают на 28% собеседований C# Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Инкапсуляция — это принцип ООП, который объединяет данные и методы работы с ними в единый объект, скрывая внутреннюю реализацию от внешнего использования. Это позволяет защитить данные от неконтролируемого доступа и изменений.

Ключевые аспекты:

  • Сокрытие данных — использование модификаторов доступа (private, protected, public).
  • Контролируемый доступ — через свойства (get/set) и методы.

Пример:

public class BankAccount
{
    private decimal _balance; // Поле скрыто

    public decimal Balance // Контролируемый доступ
    {
        get { return _balance; }
        private set { _balance = value; }
    }

    public void Deposit(decimal amount)
    {
        if (amount > 0)
            Balance += amount;
    }
}

Здесь _balance защищён от прямого изменения, а пополнение счёта возможно только через метод Deposit.