Можно создать дубликат:
Interface vs Abstract Class (general OO)В чем разница между интерфейсом и абстрактным классом?
Я не совсем ясно, на разнице.
Благодаря
Можно создать дубликат:
Interface vs Abstract Class (general OO)В чем разница между интерфейсом и абстрактным классом?
Я не совсем ясно, на разнице.
Благодаря
Они очень похожи, но есть некоторые важные технические различия:
Эти различия влияют, как должны быть использованы два метода:
Интерфейс не позволяет определять какой-либо из методов-членов, тогда как абстрактный класс позволяет определить некоторые или все. Класс, однако, может распространять только один класс (абстрактный или нет), но может реализовывать столько интерфейсов, сколько ему нужно.
Мне нравится думать о интерфейсе как о контракте. любой класс, который реализует интерфейс, должен предоставить подробную информацию о том, что делать, когда вызывается любой метод, определенный в контракте. Абстрактный класс - это класс, который определяет набор фактических поведений, то есть больше, чем просто контракт, который будет реализован позже, но этот класс не может быть создан.
есть много сообщений об этом: http://stackoverflow.com/questions/761194/interface-vs-abstract-class-general-oo – skaz
~ Алмонд Радости имеют орехи, курганы не делают. ~ За исключением замены «Almond Joys» с абстрактными классами, «Mounds» с интерфейсами и «орехами» с некоторыми конкретными методами. – Powerlord