Дело ← К программе
Backend · Go Занятие 02 из 09

ООП в Go: struct, методы, принципы

Явно разберём ООП в Go: основные принципы — инкапсуляция, наследование и полиморфизм — и как они выражаются через struct, методы, встраивание и интерфейсы.

О чём занятие

На этом занятии явно смотрим на ООП в Go: не «как в Java/C++», а как те же идеи живут в языке без классических классов. Разберём три основных принципа — инкапсуляцию, наследование и полиморфизм — и сразу применим их к модели Task.

Инкапсуляция в Go строится через пакеты и exported/unexported поля и методы: прячем внутренности, оставляем наружу понятный контракт. «Наследование» здесь — скорее композиция и embedding структур: собираем поведение из частей, а не через глубокую иерархию классов.

Полиморфизм даём через интерфейсы: описываем поведение, а не родословную типов. Параллельно закрепим struct и методы (value / pointer receiver), обработку ошибок и аккуратную организацию кода — чтобы ООП-принципы работали в реальном сервисе, а не только на слайдах.

Что разберём

  • ООП в Go: зачем оно нужно и чем отличается от классических классов
  • Инкапсуляция: пакеты, видимость, exported / unexported
  • Наследование через композицию и embedding структур
  • Полиморфизм через интерфейсы
  • Struct, методы, value / pointer receiver
  • Ошибки, defer; практика на модели Task
Практика

Модель Task через struct + methods: инкапсуляция полей, композиция и интерфейсное поведение там, где это уместно.