Отличия abstract class от interface

Решил собрать в одну таблицу различия между abstract class и interface. 

Abstract ClassInterface
Абстрактные методы нужно указывать явно с помощью ключевого слова abstract Все методы являются абстрактными
В силу отсутствия множественного наследования, класс может наследовать только один абстрактный класс, но может наследовать много интерфейсов, и все это одновременно Может наследовать много интерфейсов, но не может наследовать класс
Абстрактные методы можно объявлять с идентификаторами доступа (public, protected, private). При реализации в классе-потомке методы должны иметь такой же модификатор или менее ограниченный Все методы публичные
Может содержать: методы с реализацией, поля члены данных, константы. Может содержать константы
В наследуемом от класса классе константа может быть переопределена В наследуемом от класса классе константа НЕ может быть переопределена

Как видите отличия есть и они существенны, удачки в освоении.


07.10.2013 08:24