Classes e Objetos (PHP 4)
PHP Manual

extends

Frequentemente você necessita de classes com variáveis e funções similares a outra classe existente. De fato é uma boa pratica definir classes genéricas que possam ser reutilizadas em seus projetos e adaptadas para necessidades de cada projeto específico. Para facilitar isto, classes podem ser extensões de outras classes. Uma classe estendida ou derivada tem todos os métodos (funções), variáveis (propriedades/atributos) da classe base (isto é chamado de 'herança', independentemente do fato de ninguém ter morrido) e aquilo que você adicionar na definição da classe. Não é possível tirar coisas de uma classe base, ou seja, indefinir qualquer método ou variável presente nela. Uma classe estendida é sempre dependente de uma única classe base, ou seja, a herença múltipla não é suportada. Classes são estendidas utilizando-se a palavra-chave 'extends'.

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

Isto define a classe Named_Cart que possui todas as variáveis e funções da classe Cart, além de também possuir, adicionalmente, a variável $owner e o método set_owner(). Você pode criar um Named_Cart da maneira usual e agora atribuir e resgatar o seu dono. Você pode ainda utilizar as funções presentes na classe Cart normalmente:

<?php
$ncart 
= new Named_Cart;    // Cria um objeto do tipo Named_Cart
$ncart->set_owner("kris");  // Atribui um valor para $owner
print $ncart->owner;        // Imprime o nome do dono ($owner) da classe
$ncart->add_item("10"1);  // (funcionalidade herdada da classe Cart)
?>

Isto é também chamado de relação 'pai-filho'. Você cria uma classe 'pai' e utiliza extends para criar nova classe com base na classe 'pai': a classe filha. Você pode inclusive utilizar criar novas classes baseadas nesta classe 'filho'.

Nota:

Classes devem ser definidas antes de serem utilizadas! Se você deseja que a classe Named_Cart estenda a classe Cart, você precisa definir a classe Cart primeiro. Se você deseja criar outra classe chamada Yellow_named_cart baseada na classe Named_Cart você deve definir a classe Named_Cart primeiro. Em resumo: a ordem que as classes são definidas é importante.


Classes e Objetos (PHP 4)
PHP Manual