Привет Читатели!😍
Сначала давайте посмотрим, что такое абстракция.
Абстракция данных — это процесс сокрытия определенных деталей
и показа пользователю только важной информации.
Абстракция может быть достигнута с помощью абстрактных
классов или интерфейсов. Внутри абстрактных классов мы можем реализовать абстрактные методы.
Инкапсуляция и абстракция данных
- Инкапсуляция (геттеры и сеттеры) — это скрытие данных (скрытие информации), а абстракция — скрытие деталей (скрытие реализации).
- В то время как инкапсуляция объединяет данные и методы, воздействующие на данные, абстракция данных имеет дело с предоставлением интерфейса пользователю и сокрытием деталей реализации.
Абстрактные классы и методы.
● Если в классе есть хотя бы один абстрактный метод, класс должен быть объявлен абстрактным.
● Если класс объявлен абстрактным, он не может быть создан (объекты не могут быть созданы).
Использование абстрактного класса и абстрактных методов
● Чтобы использовать абстрактный класс, вы должны наследовать его от другого класса, предоставить реализации абстрактным методам в нем.
● Если вы наследуете абстрактный класс, вы должны обеспечить реализацию всех абстрактных методов в нем.
● Если вы хотите, чтобы класс содержал определенный метод, но хотите, чтобы фактическая реализация этого метода определялась дочерними классами, вы можете объявить метод в родительском классе как абстрактный.
● Любой класс, наследующий текущий класс, должен либо переопределить абстрактный метод, либо объявить себя абстрактным.
Интерфейсы.
● Интерфейс Java – это полностью абстрактный суперкласс, определяющий набор методов, которые должны поддерживать его подклассы.
● Интерфейс отличается от класса несколькими способами:
● Вы не можете создать экземпляр интерфейса.
● Интерфейс не содержит конструкторов.
● Все методы интерфейса являются абстрактными.
● Интерфейс не может содержать поля экземпляра. Единственные поля, которые
могут появляться в интерфейсе, должны быть объявлены как статическими, так и
окончательными.
● Интерфейс не расширяется классом; он реализуется классом
.
● Интерфейс может расширять несколько интерфейсов.
Пробуйте все больше и больше, чтобы придумать лучшее.
Надеюсь, вы получили четкую информацию.
Спасибо за прочтение!!😍