Что такое объектно-ориентированное программирование и почему?
Что ж, все мы знаем, что существует множество подходов к программированию. Например, процедурное программирование, функциональное программирование, объектно-ориентированное программирование и этот список можно продолжить. Итак, какой подход к программированию следует использовать для решения проблемы? Что ж, простой ответ: «Это зависит от ваших требований» 👻
Но почему объектно-ориентированное программирование (ООП) так популярно? 🙄
В ООП вы обнаружите, что это новый способ решения проблем. Когда вы пишете программу, вы, вероятно, можете разделить большие проблемы на более мелкие подзадачи. И решать их, используя отдельные блоки кода. Основная идея ООП заключается в том, что вместо написания огромной программы вы можете создать класс, который представляет собой шаблон, содержащий набор атрибутов и методов. Внутри метода вы можете реализовать логику для решения подзадачи. Затем вы создаете объекты, используя этот шаблон или класс. Объекты являются экземплярами этого класса, и вы можете взаимодействовать с ними весело и увлекательно. Итак, здесь вы можете создать любое количество классов в зависимости от ваших требований. Со временем вы сможете найти решение вашей сложной проблемы более удобным способом.
Итак, каковы 4 элемента ООП? Что ж, давай займемся этим.
Подождите ✋, перед этим я хочу познакомить вас с некоторыми основными терминологиями, которые мы часто используем.
Атрибут
. Это переменная, принадлежащая классу, и она определяет характеристики этого класса.
Метод
. Методы - это функции, в которых мы можем реализовать нашу логику для решения конкретной проблемы. Методы будут определять поведение экземпляров класса.
Класс:
Это план или шаблон, который содержит собственные атрибуты и методы.
Объект:
Проще говоря, это экземпляр класса. У объекта есть свои собственные атрибуты и методы, которые находятся внутри чертежа или класса. Объекты можно однозначно идентифицировать по их имени.
Итак, мы идем, это основные концепции ООП, которые вы должны знать,
· Абстракция
· Инкапсуляция
· Наследование
· Полиморфизм
Хорошо, давайте рассмотрим их по одному.
Абстракция
Это процесс, который предоставляет пользователю только функциональные возможности, скрывая от пользователя сложные реализации. Просто у пользователя будет информация о том, что делает объект, а не о том, как он это делает. На самом деле пользователи не хотят знать сложную логику, реализованную в методах класса. Пользователя интересует только функциональность класса.
Что ж, я приведу вам простой пример, чтобы понять это. В качестве примера возьмем пульт от телевизора. На этом пульте так много кнопок для управления телевизором. Когда мы нажимаем кнопку ON, телевизор включается. Но мы не знаем, как это происходит внутри удаленной схемы. Собственно, нам и не нужно это знать, мы просто хотели включить телевизор, вот и все!
Что ж, мы можем применить то же самое в ООП. У нас есть доступ к общедоступным методам объекта, и мы можем использовать их для выполнения некоторых операций. Здесь нам не нужно знать о стоящих за ними сложных логических реализациях. Для реализации абстракции мы можем использовать не только абстрактные классы, но и интерфейсы.
Инкапсуляция
Группирование связанных данных и кода в единый блок называется инкапсуляцией. Например, возьмем капсулу с лекарством, в которую завернуты разные лекарства. Проще говоря, инкапсуляция будет действовать как барьер безопасности, предотвращающий случайный доступ к коду и данным другими кодами, определенными вне класса. Мы можем использовать модификаторы доступа, такие как private, public и protected, для защиты атрибутов класса (данных) и методов (кода).
Наследование
Ну, наследование - одна из основных концепций ООП. Здесь один класс (дочерний) может приобретать характеристики (атрибуты) и поведение (методы) другого класса (родительский). Это создаст отношения родитель-потомок между классами. Одним из основных преимуществ наследования является возможность повторного использования кода. Это просто означает, что когда родительские классы обладают некоторыми конкретными характеристиками и поведением, нам не нужно переписывать или повторно реализовывать их в дочерних классах. Потому что, когда мы используем отношения наследования, эти характеристики и поведение наследуются потомком.
Полиморфизм
Полиморфизм означает способность иметь несколько форм. Взгляните на приведенный ниже пример. Метод Speak () реализован по-разному в каждом подклассе класса Animal. Когда вы вызываете метод Speak () в классе Dog, он произносит «Woof», когда вы вызываете тот же метод в классе Cat, он произносит «Meow», а Cow - «Moo». Смотреть! Тот же метод, но разные реализации, это то, что мы назвали полиморфизмом.
Есть 2 типа полиморфизма.
1. Статический полиморфизм: перегрузка метода
Перегрузка метода выполняется в одном классе. Когда мы перегружаем один и тот же метод внутри одного и того же класса, его возвращаемые типы могут быть одинаковыми или отличаться друг от друга. Но помни! параметры должны быть разными.
2. Динамический полиморфизм: приоритет метода
Переопределение метода выполняется внутри дочерних классов родительского класса, что означает, что между классами должна существовать связь наследования. Замещение метода может использоваться для обеспечения конкретной реализации метода, который уже предоставлен его родительским классом. Помнить! подпись метода должна быть одинаковой внутри каждого класса.
Итак, я надеюсь, что теперь у вас есть базовое представление о том, что на самом деле представляют собой концепции ООП? Не правда ли? Дайте мне знать, если у вас есть какие-либо сомнения или мысли в разделе комментариев ниже. Приветствую сейчас !!!
Удачного кодирования !!!