2013-06-26 3 views
0

Когда использовать абстрактный класс и когда использовать интерфейс в .NET с примером? Я не смог найти окончательного ответа для одной и той же помощи по тому же вопросу, было бы очень полезноКогда использовать абстрактный класс и когда использовать интерфейс в .NET

+0

http://stackoverflow.com/questions/761194/interface-vs-abstract-class-general-oo –

ответ

4

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

Сказанное, иногда имеет смысл делать как. Именно здесь разработчик API определяет интерфейс (контракт), а затем абстрактный базовый класс с некоторыми функциональными возможностями котельной, которые берут некоторые из общих проблем с реализацией интерфейса. Это обычная идиома.

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

Смежные вопросы