Абстрактный класс php
Автор Вячеслав Богданов задал вопрос в разделе Компьютеры, Связь
Чем отличается абстрактный класс от интерфейса?(PHP язык) и получил лучший ответ
Ответ от Владимир Ульянов[гуру]
С PHP знаком даже не поверхностно, а скорее обзорно. Однако существуют общие принципы объектно-ориентированного программирования, а вот с ними я знаком.
Интерфейс содержит исключительно декларации (абстрактные члены) , классы, реализующие интерфейс, обязаны реализовывать все члены, в него включенные. Даже если нет необходимости использовать тот или иной метод в классе, он должен быть задекларирован.
Абстрактный класс имеет более широкие возможности. В нём помимо чисто абстрактных членов могут присутствовать все элементы, присущие обычным классам, за исключением конструкторов. В то же время есть отличие и от обычных классов - невозможно создать собственный экземпляр абстрактного класса, но в то же время его экземплярами считаются экземпляры производных классов. В классах, произведённых непосредственно от абстрактного класса, абстрактные члены обязаны быть реализованы так же как и в случае с интерфейсами. Кроме того на абстрактный класс не налагается никаких требований, относительно присутствия (или отсутствия) в нём того или иного типа членов. То есть: он может иметь только абстрактных членов, и в этом случае от интерфейса он будет отличаться только формально (а не по сути) ; он может иметь только реализованных членов, в этом случае от обычного класса он будет отличаться только отсутствием конструктора (и невозможностью создать экземпляр) ; но он может и объединять в себе все эти возможности, и включать обычных, абстрактных и виртуальных членов.
Вроде всё.