PHP 5 introduce clases y métodos abstractos. No es permitido
crear una instancia de una clase que ha sido definida como abstracta.
Cualquier clase que contenga por lo menos un método abstracto
debe también ser abstracta. Los métodos definidos como
abstractos simplemente declaran el método, no pueden definir la
implementación
La clase que implementa el método abstracto debe definir con la
misma visibilidad o
mas débil. Si el método abstracto es definido como protected,
la implementació de la función debe ser definida como
protected o public.
Ejemplo 19-16. Ejemplos de la clase Abstract
<?php abstract class AbstractClass { // Force Extending class to define this method abstract protected function getValue();
// Common method public function printOut() { 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->printOut();
$class2 = new ConcreteClass2; $class2->printOut(); ?>
|
|
El coódigo anterior no tenÃa clases definidas por el
usuario o funciones llamadas 'abstractas' debe correr sin necesidad
de modificación.