Abstracción de Objetos

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.

Hosting by: hurra.com
Generated: 2007-01-26 18:01:09