Все отличия » Разное » Разница между абстрактным классом и интерфейсом

Разница между абстрактным классом и интерфейсом

0
141
13 июль 2022, Среда

В программировании используются понятия абстрактного класса и интерфейса. В чем заключаются их особенности?


В чем специфика абстрактного класса в программировании?

В числе основных признаков абстрактного класса — наличие реализации. При этом в нем может присутствовать один или несколько ее методов. В абстрактном классе есть свойства, имеющие модификаторы доступа. Кроме того, рассматриваемая категория данных предполагает:

  1. применение метода extend;
  2. описание конструктора;
  3. использование разных типов данных — в частности, статических, или же констант;
  4. независимость реализации наследуемого абстрактного класса от родительского.

Что такое интерфейс?

Интерфейс, в свою очередь, не содержит реализации. В нем присутствует описание в чистом виде — как совокупность методов, подлежащих реализации в конкретном классе, посредством которого осуществляется имплементация того или иного интерфейса.

Рассматриваемая категория данных также предполагает:

  1. наличие только тех констант, которые классифицируются как общедоступные;
  2. применение метода implement;
  3. воспроизведение всех методов интерфейса в процессе его реализации.

Отметим, что в интерфейсе не осуществляется описание конструктора.

Сравнение

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

  • наследование;
  • реализация;
  • использование конструктора.

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

Таблица

Абстрактный класс Интерфейс
Только один абстрактный класс наследуется иным классом Несколько интерфейсов может быть реализовано каким-либо классом
Допускает реализацию методов Предполагает исключительно описание методов
Допускает создание конструктора Не предполагает создания конструкторов
Читайте также
Отличие ЕГЭ и ОГЭ (ГИА)
Отличие ЕГЭ и ОГЭ (ГИА)
Разное
Что же означают эти загадочные сочетания букв, как их расшифровать?...
Добавить
Комментарии (0)
Прокомментировать
Кликните на изображение чтобы обновить код, если он неразборчив