24. Чем интерфейсы отличаются от абстрактных классов?
UNKNOWNВ каких случаях следует использовать абстрактный класс, а в каких интерфейс?
has a – интерфейс, is a- абстр класс
- Интерфейс описывает только поведение. У него нет состояния. А у абстрактного класса состояние есть: он описывает и то, и другое
- Абстрактный класс связывает между собой и объединяет классы, имеющие очень близкую связь (птицы: голуби, воробьи). В то же время, один и тот же интерфейс могут реализовать классы, у которых вообще нет ничего общего (Flyable: птицы, наркоман, самолет).
- Классы могут реализовывать сколько угодно интерфейсов, но наследоваться можно только от одного класса
Предыдущий вопрос: 23. Что такое интерфейсы? Какие модификаторы по умолчанию имеют поля и методы интерфейсов?
Следующий вопрос: 25. Может ли один интерфейс наследоваться от другого? От двух других?
Все вопросы по теме: список
Все темы: список
Вопросы/замечания/предложения/нашли ошибку: напишите мне