Учебники

8) Абстракция данных

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

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

Нажмите здесь, если видео не доступно

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

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

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

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

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

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

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

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

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

Абстракция в JAVA «показывает» только необходимые атрибуты и «скрывает» ненужные детали объекта от пользователя. В Java абстракция выполняется с использованием абстрактных классов, абстрактных методов и интерфейсов. Абстракция помогает уменьшить сложность и трудоемкость программирования.

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

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

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

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

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

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

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

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

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

Абстрактный класс Интерфейс

Абстрактный класс может иметь как абстрактные, так и неабстрактные методы.

Интерфейс может иметь только абстрактные методы.

Он не поддерживает множественное наследование.

Он поддерживает множественное наследование.

Это может обеспечить реализацию интерфейса.

Он не может обеспечить реализацию абстрактного класса.

Абстрактный класс может иметь защищенные и абстрактные публичные методы.

Интерфейс может иметь только публичные абстрактные методы.

Абстрактный класс может иметь конечную, статическую или статическую конечную переменную с любым спецификатором доступа.

Интерфейс может иметь только открытую статическую переменную final.

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

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

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

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

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

Резюме:

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