Что такое OOPS?
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ (ООП) — это концепция программирования, которая работает на принципах абстракции, инкапсуляции, наследования и полиморфизма. Это позволяет пользователям создавать объекты, которые они хотят, а затем создавать методы для обработки этих объектов. Основная концепция ООП заключается в создании объектов, их повторном использовании в программе и манипулировании этими объектами для получения результатов.
Объектно-ориентированное программирование, широко известное как ООП, используется в современном языке программирования, таком как Java
Основные концепции OOPS
1) Класс
Класс представляет собой группу похожих объектов. Это только логический компонент, а не физический объект. Например, если у вас есть класс под названием «Дорогие автомобили», у него могут быть такие объекты, как Mercedes, BMW, Toyota и т. Д. Его свойства (данные) могут быть ценой или скоростью этих автомобилей. В то время как методы могут быть выполнены с этими автомобилями, вождение, задний ход, торможение и т. Д.
2) Объект
Объект может быть определен как экземпляр класса, и в программе может быть несколько экземпляров класса. Объект содержит как данные, так и функцию, которая работает с данными. Например — стул, велосипед, маркер, ручка, стол, машина и т. Д.
3) Наследование
Наследование — это концепция OOPS, в которой один объект приобретает свойства и поведение родительского объекта. Это создает родительско-дочерние отношения между двумя классами. Он предлагает надежный и естественный механизм для организации и структуры любого программного обеспечения.
4) Полиморфизм
Полиморфизм относится к способности переменной, объекта или функции принимать несколько форм. Например, в английском языке бег глагола имеет другое значение, если вы используете его с ноутбуком , пешеходом и бизнесом . Здесь мы понимаем значение бега, основываясь на других словах, используемых вместе с ним. То же самое относится и к полиморфизму.
5) Абстракция
Абстракция является актом представления основных функций без включения деталей фона. Это метод создания нового типа данных, который подходит для конкретного приложения. Например, во время вождения автомобиля вам не нужно беспокоиться о его внутренней работе. Здесь вам просто нужно заботиться о таких деталях, как руль, шестерни, акселератор и т. Д.
6) Инкапсуляция
Инкапсуляция — это ООП метод упаковки данных и кода. В этой концепции OOPS переменные класса всегда скрыты от других классов. Доступ к нему возможен только с использованием методов их текущего класса. Например — в школе ученик не может существовать без класса.
7) Ассоциация
Ассоциация — это связь между двумя объектами. Это определяет разнообразие между объектами. В этой концепции ООП все объекты имеют отдельный жизненный цикл, и у них нет владельца. Например, многие ученики могут общаться с одним учителем, а один ученик также может общаться с несколькими учителями.
8) Агрегация
В этой технике все объекты имеют отдельный жизненный цикл. Тем не менее, существует владение, так что дочерний объект не может принадлежать другому родительскому объекту. Например, рассмотрим класс / предметный отдел и преподавателя. Здесь, один учитель не может принадлежать нескольким отделам, но даже если мы удалим отдел, объект учителя никогда не будет уничтожен.
9) Композиция
Композиция — это специализированная форма агрегации. Это также называется «смертью» отношений. Дочерние объекты не имеют своего жизненного цикла, поэтому при удалении родительского объекта все дочерние объекты также удаляются автоматически. Для этого давайте возьмем пример дома и комнаты. Любой дом может иметь несколько комнат. Одна комната не может стать частью двух разных домов. Так что, если вы удалите дом, номер также будет удален.
Преимущества OOPS:
- ООП предлагает простую для понимания и четкую модульную структуру для программ.
- Объекты, созданные для объектно-ориентированных программ, можно повторно использовать в других программах. Таким образом, это экономит значительную стоимость разработки.
- Большие программы сложно писать, но если команда разработчиков и проектировщиков следует концепции OOPS, они могут лучше проектировать с минимальными недостатками.
- Это также повышает модульность программы, потому что каждый объект существует независимо.
Сравнение OOPS с другими стилями программирования с помощью Примера
Давайте разберемся с примером, как ООП отличается от других подходов программирования.
Языки программирования можно разделить на 3 основных типа
- Неструктурированные языки программирования: самый примитивный из всех языков программирования с последовательным потоком управления. Код повторяется во всей программе
- Языки структурированного программирования: имеет последовательный поток управления. Использование функций позволяет повторно использовать код.
- Объектно-ориентированное программирование : объединяет данные и действия вместе.
Нажмите здесь, если видео не доступно
Давайте разберем эти 3 типа на примере.
Предположим, вы хотите создать банковское программное обеспечение с такими функциями, как
- депозит
- Изымать
- Показать баланс
Неструктурированные языки программирования
Самым ранним из всех языков программирования был неструктурированный язык программирования. Очень простой код банковского приложения на неструктурированном языке программирования будет иметь две переменные: один номер счета и другую для баланса счета.
int account_number=20; int account_balance=100;
Предположим, внесен депозит в размере 100 долларов.
account_balance=account_balance+100
Далее вам нужно отобразить баланс аккаунта.
printf(“Account Number=%d,account_number) printf(“Account Balance=%d,account_balance)
Сейчас сумма в 50 долларов снимается.
account_balance=account_balance-50
Опять же, вам нужно отобразить баланс счета.
printf(“Account Number=%d,account_number) printf(“Account Balance=%d,account_balance)
Для любой последующей операции ввода или вывода — вы будете повторять код снова и снова.
Структурированное программирование
С появлением структурированного программирования повторяющиеся строки кода были помещены в структуры, такие как функции или методы. Когда это необходимо, выполняется простой вызов функции.
Объектно-ориентированного программирования
В нашей программе мы имеем дело с данными или выполняем определенные операции с данными.
На самом деле, наличие данных и выполнение определенной операции над этими данными является основной характеристикой любой программы.
Эксперты в области программирования программного обеспечения думали о сочетании данных и операций. Следовательно, рождение объектно-ориентированного программирования, которое обычно называют OOPS.
Один и тот же код в OOPS будет иметь те же данные и некоторые действия, выполняемые с этими данными.
Class Account{ int account_number; int account_balance; public void showdata(){ system.out.println(“Account Number”+account_number) system.outprintln(“Account Balance”+ account_balance) } }
Объединяя данные и действия, мы получим много преимуществ по сравнению со структурным программированием, а именно:
- абстракция
- Инкапсуляция
- наследование
- Полиморфизм
Они обсуждаются более подробно в последующих уроках