можно достичь того же, используя наследование и абстракцию - PullRequest
0 голосов
/ 21 мая 2019

Я знаю, что такое наследование и абстракция отдельно, я хочу знать разницу

Абстракция и наследование могут быть реализованы с помощью абстрактных классов или интерфейсов

Наследование - это механизм, с помощью которого объект приобретает некоторые / все свойства другого объекта.Он поддерживает концепцию иерархической классификации.

, поэтому мы не можем сделать это путем абстракции

Ответы [ 2 ]

1 голос
/ 21 мая 2019

можно достичь того же, используя наследование и абстракцию?

Нет! Это совершенно разные понятия.

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

Наследование, как вы сказали, - это механизм, с помощью которого объект приобретает некоторые / все свойства другого объекта . Да, верно.

Я не вижу ничего похожего между этими двумя понятиями, за исключением того, что они говорят об объектах.

1 голос
/ 21 мая 2019

В C ++, afaik, абстрактный класс и интерфейс одинаковы по языку.В таких языках, как Java, существует определенная концепция, такая как интерфейс.Другие языки, такие как Python, могут не иметь четкой концепции, но все же могут предлагать функциональность.

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

В таких языках, как C ++, класс реализует интерфейс посредством наследования.В таких языках, как Java, ключевое слово 'Implements' фактически указывает на реализацию интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...