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

класс можно определить как категорию конкретных элементов, а объекты - это элементы, принадлежащие этой конкретной категории. Давайте разберем эту фразу на примере: предположим, что в организации есть категория руководителей, все они имеют одинаковые полномочия и одинаковые атрибуты, например, у всех одинаковые зарплаты, должности, полномочия и т. Д. Итак, в ООП мы можем представить эту категорию руководителей. как класс, и все эти руководители принадлежат к этому классу как объекты.

Код из приведенного выше примера написан на java:

Почему мы должны использовать объектно-ориентированное программирование?

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

Важные особенности объектно-ориентированного программирования

Инкапсуляция: это одна из ключевых концепций ООП. Инкапсуляция в ООП означает объединение методов и свойств, связанных с конкретными данными, в одной единичной i-e капсуле. Класс в ООП - лучший пример инкапсуляции, в которой мы инкапсулируем все детали, относящиеся к определенной категории, в одну единицу, а затем используем их во всем коде с помощью объектов.

Наследование: Как программисты, мы следуем правилу DRY (не повторяйтесь). Иногда во время кодирования мы видим, что некоторые классы имеют общие свойства или методы, или и то, и другое. Поэтому, если мы напишем одни и те же свойства и методы во всех этих похожих классах по отдельности, мы будем писать много повторяющегося кода. Чтобы или избежать этого повторения кода, ООП предоставляет вам функцию, в которой один класс может наследовать свойства и методы другого класса, чтобы программист не писал повторяющийся код и мог добавлять другой желаемый код в дочерний класс. Родительский класс - это унаследованный класс, а дочерний класс - это класс, наследующий родительский класс.

Абстракция: Абстракция - еще одна очень важная концепция ООП, также известная как сокрытие данных. На самом деле абстракция скрывает основную и самую основную информацию о данных от пользователей и просто предоставляет пользователям полезную информацию. Позвольте мне привести вам пример. Предположим, вы играете в видеоигру о гонках на автомобилях и у вас в руках есть контроллер. При нажатии кнопки R на контроллере автомобиль поворачивается вправо, а при нажатии кнопки L на контроллере автомобиль поворачивается влево. Разработчик игры не говорит вам, как эти кнопки поворачивают машину в этих направлениях, а вам просто говорят, что эти кнопки поворачивают машину. Точно так же абстракция работает в ООП.

Полиморфизм. Полиморфизм - еще одна очень интересная особенность ООП. В ООП полиморфизм означает, что имя может иметь множество различных форм. Например, вы создаете метод сложения двух целых чисел с именем ADD, и вы хотите создать другой метод для добавления десятичных чисел, поэтому теперь, если вы дадите им обоим разные имена, вам будет сложно запомнить эти имена, если вы создадите сложение. метод для многих типов данных. Что вы можете сделать здесь сейчас, так это создать методы с одинаковыми именами и различать их по параметрам. Вот как вы реализуете полиморфизм в ООП.