Найти в Дзене
Digital Control

Объектно-ориентированное программирование

Привет, друзья! Сегодня мы затронем очень важную тему – объектно-ориентированное программирование (ООП).

На самом деле, об этом уже написано множество статей, но тема действительно интересная. «Повторенье – мать ученья», поэтому – поехали!

Объектно-ориентированным программированием называют методологию, по которой программы создаются из объектов с определенными свойствами. Эти самые объекты взаимодействуют друг с другом согласно определенным правилам.

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

Из чего же состоит ООП?

В коде, написанном в соответствии с ООП, выделяют 4 основных элемента:

  • Объекты (элементы кода с определенным набором характеристик. К примеру: ученик в классе имеет характеристики: рост, возраст, пол, ФИО).
  • Классы (шаблоны, определяющие свойства объектов). Пример: в магазине продают, колбасы, сосиски, сардельки (объекты), но все они принадлежат одному классу - «мясные изделия».
  • Методы (функции внутри объекта, которые позволяют ему взаимодействовать с ним, а также с другими частями кода)
  • Атрибуты (конкретные характеристики объекта. Допустим, это может быть имя пользователя)

У ООП есть свои принципы:

  • Инкапсуляция. Вся информация, необходимая для работы объекта, хранится внутри него. Если говорить проще – это свойство, объединяющее данные, и скрывающее для пользователей все детали реализации.
  • Наследование. Это взаимоотношения между объектами и классами, где каждый дочерний элемент наследует какие-то атрибуты, которые содержались в родительском элементе. Т.е. это способность системы описать новый класс с учетом уже существующего.
  • Полиморфизм. Свойство, когда можно одно и тоже имя использовать для решения нескольких технически разных задач. Т.е. создается общий интерфейс для близких по смыслу действий.

А для чего вообще нужен этот ООП? Казалось бы, знаешь языки программирования, принципы микросервисной архитектуры – твори! Но с течением времени усложнились типы данных и их объемы. Вот в тот самый момент разработчикам и пришло на помощь объектно-ориентированное программирование. Сегодня все больше языков используют парадигму ООП, такие как C#, Go, Python, С++, Java, JavaScript, PHP, Ruby, Kotlin.

Преимущества ООП:

- если вам нужно внести какие-либо изменения в код, то это потребуется сделать лишь в одном месте;

- повышается скорость разработки (фрагменты кода, написанные по методологии ООП, можно использовать в новых разработках);

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

- код легче читать, обновлять и расширять, т.к. это независимая модульная структура;

- ПО, написанное на основах ООП, сломать гораздо сложнее, потому что инкапсулированный код извне недоступен.

Но даже у объектно-ориентированного программирования есть как сторонники, так и противники. Есть мнения, что ООП не достаточно погружается в алгоритмы и вычисления, что делает его поверхностным и недостаточно «серьезным». Что ж, как говорится – ИМХО… Выводы делать только вам!

Вам была интересна статья? Присоединяйтесь к нам!

Наше сообщество VK: https://vk.com/digital_control

Больше информации в Дзене: https://dzen.ru/digital_control

Изнанка нашей работы в Telegram: https://t.me/DigitalControlTech