Абстрактні класи
PHP 5 підтримує визначення абстрактних класів і методів. Створювати екземпляр класу, який був оголошений абстрактним, не можна. Клас, в якому оголошено хоча б один абстрактний метод, повинен також бути оголошений абстрактним. Методи, оголошені як абстрактні, несуть, по суті, лише описовий зміст і не можуть включати будь-який функціонал. Клас може бути оголошений як абстрактний за допомогою використання ключового слова abstract, для виключення з обробки. Однак, ви можете наслідувати абстрактні класи. Практичний приклад:
<? 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 ();
?>