Абстрактный класс против интерфейса в C #

1. Абстракция

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

Абстрактные классы не обеспечивают полной абстракции — они могут иметь конкретные методы наряду с абстрактными .

Интерфейсы обеспечивают полную абстракцию ; однако у них не может быть конкретных методов.

2. Конструкторы

Конструктор — это специальный метод класса, используемый для инициализации объектов класса.

Абстрактные классы могут иметь разные типы конструкторов.

Интерфейсы не могут иметь конструкторов.

3. Множественное наследование

Наследование — это еще одна особенность объектно-ориентированного программирования, в которой конкретный класс может быть производным от базового класса. Множественное наследование позволяет расширять более одного базового класса в производном классе.

Абстрактные классы не поддерживают множественное наследование.

Интерфейсы поддерживают множественное наследование.

Оцените статью
nanomode.ru
Добавить комментарий