24. Чем интерфейсы отличаются от абстрактных классов?

24. Чем интерфейсы отличаются от абстрактных классов?

UNKNOWN

В каких случаях следует использовать абстрактный класс, а в каких интерфейс?

has a – интерфейс, is a- абстр класс

  • Интерфейс описывает только поведение. У него нет состояния. А у абстрактного класса состояние есть: он описывает и то, и другое
  • Абстрактный класс связывает между собой и объединяет классы, имеющие очень близкую связь (птицы: голуби, воробьи). В то же время, один и тот же интерфейс могут реализовать классы, у которых вообще нет ничего общего (Flyable: птицы, наркоман, самолет).
  • Классы могут реализовывать сколько угодно интерфейсов, но наследоваться можно только от одного класса

Предыдущий вопрос: 23. Что такое интерфейсы? Какие модификаторы по умолчанию имеют поля и методы интерфейсов?

Следующий вопрос: 25. Может ли один интерфейс наследоваться от другого? От двух других?

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку: напишите мне

Report Page