Что такое ООП?
Объектно-ориентированное программирование (или ООП) - это парадигма программирования, в которой программы написаны и структурированы вокруг объектов, а не функций или логики. Здесь объекты определяются как поля данных, которые имеют уникальные атрибуты и поведение. Они содержат данные в виде атрибутов, а процедуры - в виде методов. Процедуры объекта могут получить доступ и изменить данные, присутствующие в объекте.
Существует много языков ООП, самые популярные из которых основаны на классах, где объекты будут экземпляром класса. Класс - это контейнер для данных и процедур, также известный как члены-данные и функции-члены. Давайте рассмотрим пример объекта как автомобиля. У автомобиля есть такие атрибуты, как цвет, торговая марка, запас топлива и т. Д., И у него есть методы для представления поведения автомобиля, такого как запуск, ускорение, остановка и т. Д. Класс - это образец атрибутов и методов, который не занимает места. До тех пор, пока не будет создан объект для этого класса.
Пример :
class car
(
char name(20); // name and colour are attributes
char colour(20);
public void start()() //start is a method
);
void main()
(
car c1; //c1 is an object
)
Объектно-ориентированное программирование предназначено для реализации в программировании таких реальных объектов, как наследование, полиморфизм, инкапсуляция и т. Д., Которые мы рассмотрим подробнее. Основная цель ООП состоит в том, чтобы коллективно связать данные и функции, которые над ними работают, так что эти данные доступны только этой функции.
Принципы ООП
Четырьмя основными принципами объектно-ориентированного программирования являются инкапсуляция, абстракция, наследование и полиморфизм.
1. Инкапсуляция:
Связывание данных и методов в единое целое называется инкапсуляцией. Инкапсуляция выполняется, когда каждый объект внутри класса сохраняет свое состояние закрытым. Данные внутри этого устройства не доступны для внешних объектов, и только те функции внутри этого устройства могут получить к нему доступ. Таким образом, объект управляет своим состоянием с помощью своих методов, и для связи с этим объектом нам потребуется помощь открытых методов этого класса.
2. Абстракция
Абстракция является расширением инкапсуляции. Это означает предоставление только необходимой информации внешнему миру, скрывая внутренние детали реализации. Он показывает только соответствующие операции для других объектов. Преимущество этого состоит в том, что мы можем изменить реализацию, не затрагивая класс, поскольку интерфейс метода остается тем же самым.
Давайте возьмем пример калькулятора, который берет данные от нас и одним нажатием кнопки дает нам желаемый результат, сохраняя при этом внутренние детали того, как он пришел к этому ответу.
3. Наследование
Часто объекты похожи по функциональности, разделяют часть логики, но отличаются по остальным. Итак, как мы можем использовать общую логику и отделить другую логику? Это может быть достигнуто путем наследования. В наследовании мы создаем новый класс, называемый дочерним классом, который является производным от существующего класса, называемого родительским классом, таким образом формируя иерархию классов. Дочерний класс повторно использует поля данных и методы, которые ему требуются от родительского класса, и самостоятельно реализует свои уникальные функциональные возможности.
Например, транспортное средство может быть родительским классом, из которого мы можем получить дочерние классы, такие как Bike и Car. Они имеют общие свойства возможности работать на топливе и перевозить пассажиров, но различаются по количеству пассажиров, которых они могут перевозить, и большим количеством таких свойств.
4. Полиморфизм
Полиморфизм - это способность принимать более одной формы. Предположим, у нас есть родительский класс и несколько его дочерних классов. Теперь мы хотим использовать атрибуты как родительского, так и дочернего классов, так как это будет достигнуто? Это можно сделать с помощью полиморфизма. В полиморфизме абстрактные объекты выполняются несколькими способами. Это дает возможность использовать класс точно так же, как родительский класс, так что не возникает путаницы при смешивании типов классов, и каждый дочерний класс продолжает сохранять свои методы такими, какими они были. Это можно сделать, повторно использовав родительский интерфейс, чтобы дочерний класс мог реализовать эти методы в своей собственной версии.
Преимущества объектно-ориентированного программирования
- Реальная идея может быть продемонстрирована, так как все в ООП рассматривается как объект.
- Поскольку мы используем концепцию инкапсуляции, программы легче тестировать и поддерживать.
- Ускорена разработка кода, поскольку мы разрабатываем классы параллельно, а не последовательно.
- ООП обеспечивает большую безопасность благодаря абстракции данных. Внешний мир не может получить доступ к скрытым данным.
- Повторное использование может быть достигнуто с помощью классов, которые уже были написаны.
Недостатки объектно-ориентированного программирования
- Разработка программы с использованием концепции ООП может быть сложной.
- Программист должен заранее спланировать разработку программы в ООП.
- Размер программ, разработанных с помощью ООП, больше, чем программ с процедурным подходом.
- Поскольку ООП-программы больше по размеру, время выполнения для этих программ также больше.
Как знание ООП может помочь в карьерном росте?
Многие из основных популярных языков в наши дни, такие как Java и Ruby, используют концепции объектно-ориентированного программирования. Языки ООП помогают в написании программного обеспечения для таких приложений, как мобильные, веб-приложения и игровые приложения. В этих областях высокий заработок, как, например, лучшие вакансии для программистов в этих областях. С основами ООП легко перейти на различные технологии и языки, что расширяет наши карьерные перспективы. Одним из недостатков в этом случае является опыт. Обычно компании ищут практический опыт работы с языками и концепциями ООП, поэтому рекомендуется практиковаться в процессе обучения.
Вывод
Объектно-ориентированное программирование упрощает процесс программирования для нас. Он имеет много значений, таких как повторное использование, эффективность и обслуживание кода. Хотя вначале может быть трудно понять концепции ООП, я уверяю вас, что плод будет стоить усилий. Надеюсь, эта статья помогла вам упростить эти концепции!
Рекомендуемая статья
Это было руководство к тому, что такое ООП? Здесь мы обсудили концепции, определения и принципы с преимуществами и недостатками ООП. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -
- Является ли Hadoop открытым исходным кодом?
- Что такое наследование Java?
- Что такое многопоточность в C #?
- Что такое веб-службы ASP.Net?