Найти тему

Что такое ООП ( Основы )

В этой статье я простыми словами попытаюсь объяснить что такое ООП и почему такой стиль сейчас очень популярный. Вообще в мире программирования существуют разные парадигмы написания программ, но самые основные можно отметить два, это ФП и ООП.

ООП - объектно-ориентированное программирование, как из названия понятно, что в программе которой используется данная парадигма всё ориентированно на объекты. Такой стиль позволяет из всего представить объект.

Классы

Основная единица в такой парадигме это класс, то есть если программа написана в стиле ООП, значит она построена на классах. Класс - это сущность на основе которого создаются объекты ( экземпляры класса ). Возьмём пример из жизни, чтобы построит дом - объект, нужен чертёж - класс, чтобы понимать как дом будет выглядеть, поэтому класс называют именем существительным например: class User, class Point, class Home.

Сам класс максимум может состоять из трёх частей (в некоторых языках и из четырёх ):

  1. Конструктор,
  2. Поля класса ( свойства ),
  3. методы класса ( поведение ),
  4. Деструктор ( только в языке С/С++)
класс в С++
класс в С++

Конструктор - это функция которая вызывается самой первой при создание экземпляра класса.

Поля класса - это просто переменные в которых могут хранится какие-то данные.

Методы класса - функции которые определяют поведение объекта, то есть что он может делать, например может отнять определённое число от суммы которая указана в объекте и т.д.

В чём преимущество такого стиля? Это читаемость кода например логика и данные связаны с пользователем объединяем в один класс, также масштабируемость программы например нам надо, чтобы в программе можно было создавать групповые чаты, просто берём создаём класс Room и в этом классе будут регистрироваться все экземпляры класса User, также в классе Room добавляем функции для управления группой, вот и всё.

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

Взаимодействие с экземпляром класса в языке С++
Взаимодействие с экземпляром класса в языке С++

Программу тоже можно представить в виде объекта и если представить что класс у нас кирпич, то вот что получится.

представление программы, состоящая из классов
представление программы, состоящая из классов

Важно отметить, что в ООП присутствуют не только классы, но и структуры, интерфейсы и так далее, но основная сущность это класс.

Также в ООП выделяют несколько принципов которые надо знать, чтобы действительно эффективно применять ООП в коде:

  • Наследование.
  • Инкапсуляция.
  • Полиморфизм.
  • Абстракция.

Но о этих принципах будет говорить о следующих статьях.