Что такое абстракция в OOPS? Изучите пример Java

Что такое абстракция в ООП?

Абстракция выбирает данные из большего пула, чтобы показывать только соответствующие детали объекту. Это помогает снизить сложность и усилие программирования. В Java абстракция выполняется с использованием абстрактных классов и интерфейсов. Это одна из самых важных концепций ООП.

Давайте рассмотрим концепцию абстракции с примером

Предположим, вы хотите создать банковское приложение, и вас попросят собрать всю информацию о вашем клиенте. Есть вероятность, что вы получите следующую информацию о клиенте

Но не все вышеприведенные данные для создания банковского приложения.

Таким образом, вам нужно выбрать только полезную информацию для вашего банковского приложения из этого пула. Данные, такие как имя, адрес, налоговая информация и т. Д., Имеют смысл для банковского приложения

 

Поскольку мы выбрали / удалили / выбрали информацию о клиенте из большего пула, процесс называется абстракцией.

Тем не менее, одна и та же информация, однажды извлеченная, может использоваться для широкого спектра приложений. Например, вы можете использовать одни и те же данные для больничного приложения, приложения портала заданий, базы данных правительства и т. Д. С небольшими изменениями или без изменений. Следовательно, он становится вашими основными данными. Это преимущество абстракции.

Как достичь абстракции?

На более высоком уровне Abstraction – это процесс скрытия деталей реализации и отображения только функций для пользователя. Это указывает только на важные вещи для пользователя и скрывает внутренние детали, т. Е. При отправке SMS вы просто вводите текст и отправляете сообщение. Здесь вам не нужна внутренняя обработка доставки сообщений. Абстракция может быть достигнута с использованием абстрактного класса и абстрактного метода в Java.

Абстрактный класс

Класс, объявленный «абстрактным», называется абстрактным классом. Он может иметь абстрактные методы, а также конкретные методы. Обычный класс не может иметь абстрактных методов.

Абстрактный метод

Метод без тела известен как абстрактный метод. Он должен быть объявлен в абстрактном классе. Абстрактный метод никогда не будет окончательным, потому что абстрактный класс должен реализовать все абстрактные методы.

Правила абстрактного метода

  • Абстрактные методы не имеют реализации; он имеет только подпись метода
  • Если класс использует абстрактный метод, они должны быть объявлены абстрактными. Противоположность не может быть правдой. Это означает, что абстрактный класс не обязательно имеет абстрактный метод.
  • Если обычный класс расширяет абстрактный класс, тогда этот класс должен реализовать все абстрактные методы абстрактного родительского

Разница между абстракцией и инкапсуляцией

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

Разница между абстрактным классом и интерфейсом

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

Преимущества абстракции

  • Основное преимущество использования абстрактного класса состоит в том, что он позволяет группировать несколько родственных классов как братьев и сестер.
  • Абстракция помогает снизить сложность процесса проектирования и внедрения программного обеспечения.

Когда использовать абстрактные методы и абстрактный класс?

Абстрактные методы в основном объявляются там, где два или более подкласса также выполняют одни и те же действия разными способами с помощью различных реализаций. Он также расширяет тот же абстрактный класс и предлагает различные реализации абстрактных методов.

Абстрактные классы помогают описать общие типы поведения и иерархию классов объектно-ориентированного программирования. Он также описывает подклассы, чтобы предлагать детали реализации абстрактного класса.

Резюме:

  • Абстракция – это процесс выбора важных наборов данных для объекта в вашем программном обеспечении и исключения из них незначительных.
  • После того как вы смоделировали свой объект с помощью абстракции, один и тот же набор данных можно использовать в разных приложениях.
  • Java, абстракция выполняется с использованием абстрактных классов и интерфейсов. Мы подробно изучим абстрактные классы и интерфейсы в дальнейших учебные пособия.
0 ответы

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *