Krishna Veni Ответов: 3

Почему абстрактный допускает модификацию ? почему интерфейс не допускает модификации


абстрактные классы и интерфейс похожи, но модификация абстрактных классов-это

модификация интерфейса невозможна на самом деле, что происходит всякий раз, когда

Добавить метод в абстрактные классы или интерфейс

Что я уже пробовал:

.

Daniele Rota Nodari

Что вы имеете в виду под "модификацией" ?

3 Ответов

Рейтинг:
2

RickZeeland

Интерфейс-это не класс, смотрите объяснение здесь: Абстрактный класс против интерфейса[^]


Рейтинг:
0

OriginalGriff

Откуда вы взяли, что абстрактные классы могут быть изменены, а интерфейсы-нет?
Разница в том, что интерфейсы вообще не могут определять код, они просто устанавливают сигнатуры, которые вызовы должны реализовать, чтобы добавить интерфейс. Интерфейсы не являются классами, они являются "контрактом членства", который при соблюдении позволяет классу implementing стать "членом клуба интерфейса".
Абстрактный класс может определять код, который может быть переопределен в производных классах. Абстрактный класс-это полный класс, с условием, что абстрактный класс не может быть создан: вы не можете создать новый класс. new ключевое слово непосредственно на абстрактном классе.

Это различие позволяет классу быть производным от - например - элемента управления, но также реализовать интерфейс, такой как IEnumerable, который позволяет использовать его в foreach петля.

Абстрактные классы и интерфейсы-это не одно и то же, и ни один из них не может быть "изменен" без изменения исходного кода абстрактного класса или интерфейса.