Привет, друзья! Сегодня мы затронем очень важную тему – объектно-ориентированное программирование (ООП).
На самом деле, об этом уже написано множество статей, но тема действительно интересная. «Повторенье – мать ученья», поэтому – поехали!
Объектно-ориентированным программированием называют методологию, по которой программы создаются из объектов с определенными свойствами. Эти самые объекты взаимодействуют друг с другом согласно определенным правилам.
Проще говоря, ООП позволяет разбить программу на модули, что ускоряет ее разработку и делает код более читаемым.
Из чего же состоит ООП?
В коде, написанном в соответствии с ООП, выделяют 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