Member 13260232 Ответов: 1

Действительно ли интерфейс и абстрактный класс делают абстракцию (скрывают рабочую функцию)


Насколько я понимаю, абстракция скрывает, как она работает(что она делает, имеет значение, а не как).

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

Что я уже пробовал:

Please do clear my doubt with a real time example.(sorry if it's a simple question)

1 Ответов

Рейтинг:
2

OriginalGriff

abstract в концепции интерфейсов и абстрактных классов нет ничего общего с абстракция методика организации сложных вычислительных систем.

Техника абстрагирования (один из столпов OOPS) не обязательно о «сокрытии» чего-либо, а об установлении уровня сложности, на котором человек взаимодействует с системой, подавляя более сложные детали ниже текущего уровня. Это как автомобиль: вы «знаете», что он сделан из блоков: «зона отдыха», «багажное отделение», «двигатель», «тормозная система», «система рулевого управления», потому что это уровень абстракции на которые большинство людей взаимодействуют с транспортным средством, но на самом деле они обычно не разрабатываются изолированно: тормозная система взаимодействует с рулевым управлением и двигателем, например, для предотвращения скольжения (противобуксовочная система) и т. д. И каждый из этих «блоков» состоит из гораздо более сложных узлов, многие из которых выполняют несколько ролей в нескольких системах, составляющих единое транспортное средство.

abstract методы не то же самое - это способ "сказать" системе, что это элементы, которые должен быть предоставленным реализацией класса для того, чтобы включить абстрактный класс или интерфейс в код. Это гораздо больше похоже на членство в клубе - в клубе есть правила, которым нужно следовать, иначе вы можете не быть членом. Например, в" чайном клубе "на работе могут быть" взносы", которые вы должны платить каждый месяц, чтобы пить чай - если вы не платите свои взносы, вы выбрасываетесь и не можете пить чай! Когда вы производите от интерфейса абстрактного класса, методы, свойства и т. д. являются "правилами", которым вы должны подчиняться - или фактически реализовывать - для того, чтобы получить новый класс.