Clases y Objetos (PHP 4)
PHP Manual

extends

Frecuentemente son necesarias clases con variables y funciones semejantes a los de otra clase ya existente. De hecho, es una buena práctica definir una clase genérica que pueda ser utilizada en todos sus proyectos y adaptar esta clase a las necesidades de cada uno de sus proyectos específicos. Para facilitar esto, las clases pueden ser extensiones de otras clases. La clase extendida o derivada tiene todas las variables y funciones de la clase base (esto es llamado 'herencia' a pesar del hecho de que nadie ha muerto) y aquello que se agregue en la definición extendida. No es posible disminuir una clase, es decir, remover la definición de cualquier función o variable existente. Una clase extendida siempre es dependiente de una sóla clase base, es decir, la herencia múltiple no está soportada. Las clases son extendidas utilizando la palabra clave 'extends'.

<?php
class Named_Cart extends Cart {
    var 
$owner;
  
    function 
set_owner ($name) {
        
$this->owner $name;
    }
}
?>

Esto define una clase llamada Named_Cart que contiene todas las variables y funciones de Cart más una variable adicional $owner y una función adicional set_owner(). Se crea un carrito con nombre de la manera habitual y ahora se puede indicar y obtener el dueño del carrito. Aún se pueden utilizar las funciones de carrito normal en los carritos con nombre:

<?php
$ncart 
= new Named_Cart;    // Crear un carrito con nombre
$ncart->set_owner("kris");  // Nombrar el carrito
print $ncart->owner;        // imprimir el nombre del dueño del carrito
$ncart->add_item("10"1);  // (funcionalidad heredada de cart)
?>

Esto también es llamado una relación "padre-hijo". Se crea una clase, el padre, y se utiliza extends para crear una nueva clase basada en la clase padre: la clase hijo. Es posible incluso utilizar esta nueva clase hijo y crear otra clase basada en esta clase hijo.

Nota:

¡Las clases deben de estar definidas antes de ser utilizadas! Si se desea que la clase Named_Cart extienda a la clase Cart, se tendrá que definir primero la clase Cart. Si se quiere crear otra clase llamada Yellow_named_cart basada en la clase Named_Cart se tiene que definir primero Named_Cart. Para resumir: el orden en que las clases se definen es importante.


Clases y Objetos (PHP 4)
PHP Manual