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

Но не вся указанная выше информация требуется для создания банковского приложения.
Итак, вам нужно выбрать только полезную информацию для вашего банковского приложения из этого пула. Такие данные, как имя, адрес, налоговая информация и т. Д., Имеют смысл для банковского приложения, которое является примером абстракции в ООП.
Поскольку мы получили / удалили / выбрали информацию о клиенте из большего пула, в ООП этот процесс называется абстракцией.
Однако одна и та же информация после извлечения может использоваться для широкого круга приложений. Например, вы можете использовать одни и те же данные для заявления в больницу, приложения портала вакансий, правительственной базы данных и т. Д. С небольшими изменениями или без них. Следовательно, они становятся вашими основными данными. Это преимущество абстракции в ООП.
Разница между абстракцией и инкапсуляцией
Абстракция | Инкапсуляция |
Абстракция в объектно-ориентированном программировании решает проблемы на уровне дизайна. | Инкапсуляция решает эту проблему на уровне реализации. |
Абстракция в программировании - это сокрытие нежелательных деталей при отображении наиболее важной информации. | Инкапсуляция означает связывание кода и данных в единый блок. |
Абстракция данных в Java позволяет сосредоточиться на том, что должен содержать информационный объект. | Инкапсуляция означает сокрытие внутренних деталей или механизмов того, как объект что-то делает, по соображениям безопасности. |
Разница между абстрактным классом и интерфейсом
Абстрактный класс | Интерфейс |
Абстрактный класс может иметь как абстрактные, так и не абстрактные методы. | Интерфейс может иметь только абстрактные методы. |
Он не поддерживает множественное наследование. | Он поддерживает множественное наследование. |
Он может обеспечить реализацию интерфейса. | Он не может обеспечить реализацию абстрактного класса. |
Абстрактный класс может иметь защищенные и абстрактные общедоступные методы. | Интерфейс может иметь только общедоступные абстрактные методы. |
Абстрактный класс может иметь переменную final, static или static final с любым спецификатором доступа. | Интерфейс может иметь только общедоступную статическую конечную переменную. |
Что такое абстрактный класс?
Абстрактный класс - это тип класса в ООП, который объявляет один или несколько абстрактных методов. Эти классы могут иметь как абстрактные, так и конкретные методы. У нормального класса не может быть абстрактных методов. Абстрактный класс - это класс, который содержит по крайней мере один абстрактный метод.
Что такое абстрактные методы?
Абстрактный метод - это метод, который имеет только определение метода, но не содержит реализации. Метод без тела известен как абстрактный метод. Он должен быть объявлен в абстрактном классе. Абстрактный метод никогда не будет окончательным, потому что абстрактный класс должен реализовывать все абстрактные методы.
Преимущества абстракции
- Основное преимущество использования абстракции в программировании состоит в том, что она позволяет группировать несколько связанных классов как братьев и сестер.
- Абстракция в объектно-ориентированном программировании помогает снизить сложность процесса проектирования и реализации программного обеспечения.
Когда использовать абстрактные методы и абстрактный класс?
Абстрактные методы в основном объявляются там, где два или более подкласса также делают одно и то же по-разному с помощью разных реализаций. Он также расширяет тот же абстрактный класс и предлагает различные реализации абстрактных методов.
Абстрактные классы помогают описывать общие типы поведения и иерархию классов объектно-ориентированного программирования. Он также описывает подклассы, чтобы предложить детали реализации абстрактного класса.
Резюме:
- Абстракция в программировании - это процесс выбора важных наборов данных для объекта в вашем программном обеспечении и исключения незначительных.
- После того, как вы смоделировали свой объект с помощью абстракции данных в Java, один и тот же набор данных можно было бы использовать в разных приложениях.