концепции ООП в Java | Что такое, основы с примерами
Что такое ООП?
Система объектно-ориентированного программирования (ООП) — это концепция программирования, работающая на принципах абстракции, инкапсуляции, наследования и полиморфизма. Это позволяет пользователям создавать объекты, которые они хотят, и создавать методы для обработки этих объектов. Основная концепция ООП состоит в том, чтобы создавать объекты, повторно использовать их в программе и манипулировать этими объектами для получения результатов.
ООП, означающее «объектно-ориентированное программирование», является широко известной и широко используемой концепцией в современных языках программирования, таких как Java.
Список концепций ООП в Java с примерами
Ниже приведены общие концепции ООП в Java:
1) Класс
Класс — это одно из базовых понятий ООП, которое представляет собой группу подобных сущностей. Это только логический компонент, а не физический объект. Давайте разберемся с этой одной из концепций ООП на примере, если бы у вас был класс под названием «Дорогие автомобили», он мог бы иметь такие объекты, как Mercedes, BMW, Toyota и т. д. Его свойствами (данными) могут быть цена или скорость этих автомобилей. В то время как методы могут быть выполнены с этими автомобилями:движение, задний ход, торможение и т. д.
2) Объект
Объект может быть определен как экземпляр класса, и в программе может быть несколько экземпляров класса. Объект — это одна из концепций ООП Java, которая содержит как данные, так и функцию, которая работает с данными. Например — стул, велосипед, маркер, ручка, стол, машина и т.д.
3) Наследование
Наследование — это одна из основных концепций ООП, в которой один объект приобретает свойства и поведение родительского объекта. Он создает отношения родитель-потомок между двумя классами. Он предлагает надежный и естественный механизм для организации и структурирования любого программного обеспечения.
4) Полиморфизм
Полиморфизм относится к одной из концепций ООП в Java, которая представляет собой способность переменной, объекта или функции принимать несколько форм. Например, в английском языке глагол run имеет другое значение, если вы используете его с ноутбуком , пешеход и бизнес . Здесь мы понимаем значение run на основе других слов, используемых вместе с ним. То же самое относится и к полиморфизму.
5) Абстракция
Абстракция — это одна из концепций ООП в Java, которая представляет собой акт представления основных функций без включения второстепенных деталей. Это метод создания нового типа данных, подходящего для конкретного приложения. Давайте разберемся с этой одной из концепций ООП на примере:во время вождения автомобиля вам не нужно беспокоиться о его внутренней работе. Здесь вам просто нужно позаботиться о таких деталях, как рулевое колесо, шестерни, акселератор и т. д.
6) Инкапсуляция
Инкапсуляция — одна из лучших концепций ООП Java для упаковки данных и кода. В этой концепции ООП переменные класса всегда скрыты от других классов. Доступ к нему можно получить только с помощью методов их текущего класса. Например – в школе ученик не может существовать без класса.
7) Ассоциация
Ассоциация – это отношение между двумя объектами. Это одна из концепций ООП в Java, которая определяет разнообразие между объектами. В этой концепции ООП все объекты имеют свой жизненный цикл, и у них нет владельца. Например, многие учащиеся могут общаться с одним учителем, а один учащийся также может связываться с несколькими учителями.
8) Агрегация
В этой технике все объекты имеют свой жизненный цикл. Однако существует право собственности, так что дочерний объект не может принадлежать другому родительскому объекту. Например, рассмотрим отдел класса/предметов и учителя. Здесь один учитель не может принадлежать нескольким отделам, но даже если мы удалим отдел, объект учителя никогда не будет уничтожен.
9) Композиция
Композиция — это особая форма агрегации. Их еще называют «смертельными» отношениями. Дочерние объекты не имеют своего жизненного цикла, поэтому при удалении родительского объекта все дочерние объекты также удаляются автоматически. Для этого возьмем в качестве примера Дом и комнаты. В любом доме может быть несколько комнат. Одна комната не может стать частью двух разных домов. Так что, если вы удалите дом, комната тоже будет удалена.
Преимущества ООП (система объектно-ориентированного программирования):
- Концепции ООП в Java предлагают простую для понимания и четкую модульную структуру программ.
- Объекты, созданные для объектно-ориентированных программ, можно повторно использовать в других программах. Таким образом, значительно снижаются затраты на разработку.
- Большие программы писать сложно, но если команда разработчиков и проектировщиков будет следовать принципам ООП, они смогут лучше проектировать с минимальным количеством ошибок.
- Это повышает модульность программы, поскольку каждый объект существует независимо.
Сравнение ООП с другими стилями программирования на примере
Давайте на примере разберемся, чем концепции Java OOP отличаются от других подходов к программированию.
Языки программирования можно разделить на 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)
Для любой дальнейшей операции ввода или вывода средств — вы будете повторять одни и те же строки снова и снова.
Структурное программирование
С появлением структурного программирования повторяющиеся строки кода были помещены в такие структуры, как функции или методы. При необходимости выполняется простой вызов функции.
Объектно-ориентированное программирование
В нашей программе мы имеем дело с данными или выполняем определенные операции с данными.
На самом деле, иметь данные и выполнять с ними определенные операции — основная характеристика любой программы.
Эксперты в области программирования придумали объединить данные и операции. Поэтому рождение объектно-ориентированного программирования, которое обычно называют ООП.
Один и тот же код на языках объектно-ориентированного программирования будет иметь одни и те же данные и некоторые действия, выполняемые над этими данными.
Class Account{ int account_number; int account_balance; public void showdata(){ system.out.println(“Account Number”+account_number) system.outprintln(“Account Balance”+ account_balance) } }
Объединив данные и действия, мы получим множество преимуществ по сравнению со структурным программированием, а именно:
- Абстракция
- Инкапсуляция
- Наследование
- Полиморфизм
Более подробно они обсуждаются в последующих руководствах
java
- Одноэлементный класс Java
- Учебник по классам и объектам C# с примерами
- Очередь C# с примерами:что такое очередь C# и как ее использовать?
- Инкапсуляция в ООП Java с примером
- Метод Java String indexOf() с подстрокой и примерами
- Метод Java String compareTo():как использовать с примерами
- Перегрузка конструктора в Java:что это такое и примеры программ
- Java — объект и классы
- Java — Сериализация
- Java — Основы апплетов