Программирование не имеет универсальной схемы работы. Существуют разные принципы и подходы, которые позволяют писать программы по-разному, с учетом конкретных целей и задач. Одно из таких направлений — объектно-ориентированное программирование. В статье расскажем, чем оно отличается от остальных принципов, где и для чего используется.
Что это такое ООП
Объектно-ориентированное программирование или ООП — это набор правил, методов, критериев, которые соблюдают программисты при разработке IT-продукта. Некая парадигма, стандартизирующая написание кода. Систематизация, структурная упорядоченность инструментов и подходов позволяет ускорить процесс написания кода, делает его понятным для других разработчиков, снижает вероятность ошибок.
В отличие от других парадигм в ООП все программы состоят из объектов, наполненных определенными функциями, параметрами, отличительными способностями. Такой формат проще воспринимается, так как человек привык созерцать мир через взаимодействие объектов, которые поддаются классификации. Это один из важнейших параметров ООП — возможность классификации по конкретным признакам.
В структуре объектно-ориентированного программирования можно выделить следующие элементы:
- Объект. Часть кода, описывающая элемент с конкретными характеристиками и функциями. Например, карточка товара на сайте, кнопка «заказ» или «доставка».
- Класс. Шаблон кода, по которому создается какой-то объект. Это как универсальный рецепт, по которому может готовить любой желающий. Можно однажды создать класс «карточка товара» и присвоить ему любые качества, например, размер, цвет, шрифт и т. п. Теперь при создании любой карточки будет срабатывать код этого класса и вы получите одинаковые клоны объекта со сходными характеристиками. Допустимо создание классов и подклассов друг в друге, при этом подкласс возьмет свойства «родительского» класса и добавит свои.
- Метод. Функция или процедура, выполняемая внутри класса или объекта. Например, это может быть «заполнить карточку», «обновление ассортимента» и подобное.
- Атрибут. Характеристики объекта в программировании. Это может быть стоимость, параметры работы и прочее. Сначала в классе прописывают атрибуты, а затем с помощью методов реализуют в объекте.
ООП базируется на трех основных принципах — инкапсуляция, наследование, полиморфизм.
Инкапсуляция подразумевает, что вся информация о работе объекта должна храниться внутри его самого, как и методы его формирования. Например, сведения о кнопке «заказ» должны быть прописаны в классе «Кнопка заказа», а не «страница заказа» или «карточка товара».
Наследование — самый главный принцип ООП, который и формирует его философию. Разработчик создает класс, затем подкласс и объект. Каждая следующая категория наследует методы и атрибуты предыдущего, добавляя свои свойства. Это значительно упрощает написание кода, так как не нужно по несколько раз прописывать те или иные функции.
Полиморфизм — это подход, который может работать по-разному в зависимости от объекта, где он вызван. Например, метод «удалить», если его задействовать в корзине, удалит конкретный товар, а если в карточке товара — уберет всю карточку.
Так, объектно-ориентированное программирование — методология, основанная на представлении программы в виде совокупности взаимодействующих объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.