abstract

Абстрактні класи

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 ();

?>