Классы и объекты (PHP 5)
PHP Manual

Абстрактные классы

PHP 5 поддерживает определение абстрактных классов и методов. Создавать экземпляр класса, который был объявлен абстрактным, нельзя. Класс, в котором объявлен хотя бы один абстрактный метод, должен также быть объявлен абстрактным. Методы, объявленные как абстрактные, несут, по существу, лишь описательный смысл и не могут включать какой-либо функционал.

Пример #1 Пример абстрактного класса

<?php

abstract class AbstractClass {

   
/* Данный метод должен быть определён в дочернем классе */
   
abstract protected function getValue();

   
/* Общий метод */
   
public function print() {
     print 
$this->getValue();
   }

}

class 
ConcreteClass1 extends AbstractClass {

   protected function 
getValue() {
     return 
"ConcreteClass1";
   }

}

class 
ConcreteClass2 extends AbstractClass {

   protected function 
getValue() {
     return 
"ConcreteClass2";
   }

}

$class1 = new ConcreteClass1;
$class1->print();

$class2 = new ConcreteClass2;
$class2->print();
?>

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


Классы и объекты (PHP 5)
PHP Manual