TGViewer
Flutter Friendly Flutter Friendly @flutterfriendly · 995 subscribers
Post #167 646
Привет, это Катя, Flutter Dev Friflex👋Сегодня мы продолжим разбирать базовые принципы ООП, и на очереди — инкапсуляция.

В предыдущем посте мы говорили о наследовании, теперь давайте разберемся, как и зачем прятать детали реализации внутри класса.

Что такое инкапсуляция?
Инкапсуляция — это способ скрыть внутреннюю реализацию объекта и предоставить только нужный интерфейс для взаимодействия с ним. Проще говоря, это как интерфейс микроволновки: ты видишь кнопки, но не знаешь, что происходит внутри.

В языке Dart инкапсуляция реализуется через:
▫️Приватные переменные (с помощью _)
▫️Публичные методы и геттеры/сеттеры для доступа к данным

Зачем нужна инкапсуляция?
Инкапсуляция делает код:
✔️безопасным — защищает данные от нежелательных изменений
✔️удобным — скрывает детали реализации, оставляя только то, что нужно пользователю класса
✔️контролируемым — ты решаешь, как и при каких условиях можно изменять данные

Пример инкапсуляции

class BankAccount {
  double _balance = 0.0;
  double get balance => _balance;
  void deposit(double amount) {
    if (amount > 0) _balance += amount;
  }
  void withdraw(double amount) {
    if (amount > 0 && amount <= _balance) _balance -= amount;
  }
}

void main() {
  final account = BankAccount();
  account.deposit(100); 
  account.withdraw(30);
  print(account.balance);
}


Что тут происходит:
▪️_balance — скрытая реализация. Никто не может напрямую изменить баланс
▪️balance — только для чтения. Пользователь может узнать, сколько денег на счете
▪️deposit и withdraw — контролируют доступ к изменению данных (инкапсуляция в действии)

Надеюсь, стало немного яснее, как работает инкапсуляция и почему она так важна. В следующем посте разберем еще один принцип ООП — абстракцию.
  • 🔥 9
  • ❤ 6
More from @flutterfriendly
  1. May 14, 2026👀Какой сложный вопрос или тема по Flutter вас сейчас беспокоят? Может, задача не идет, ба…
  2. Apr 17, 2026💭Привет! Это Роза, Flutter-разработчица Friflex! Уверена, многие из вас знакомы с Dart De…
  3. Apr 8, 2026Привет, друзья! Делимся нашей страничкой на Хабре, чтобы всегда оставаться на связи. Там е…
  4. Apr 3, 2026🌸Апрель в календаре и на экране Весна зовет обновлять визуальное: убирать темные темы и в…
  5. Apr 1, 2026Всегда с нетерпением ждем этого дня, чтобы сделать подборку ИТ-мемов Пусть поводов для улы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →