Nell'esempio viene definita una classe Animale, e una specializzazione Mammifero.
Come in tutti gli altri linguaggi ad oggetti, la sottoclassi Mammifero , dichiarata con extends, eredita tutti i metodi e gli attributi della classe genitore. Quindi Mammifero avrà i metodi setSpecie() e getSpecie() e l'attributo $specie. Inoltre in Mammifero è possibile impostare se l'animale ha o meno il pelo. Evidentemente questo metodo è specifico per mammiferi , e quindi sarebbe errato inserire queste funzionalità nella classe Animale.
<?php
// Definizione della classe Animale
class Animale {
private $specie;
// Costruttore
public function __construct($specie){
$this->specie = $specie;
}
// Ritorna la specie
public function getSpecie(){
return $this->specie;
}
// Imposta la specie
public function setSpecie($specie){
$this->specie = $specie;
}
}
// Definizione della classe Mammifero
class Mammifero extends Animale {
private $pelo;
public function __construct($specie){
$this->setSpecie($specie);
}
public function haPelo(){
return $this->pelo;
}
public function setPelo($corna){
$this->pelo = $pelo;
}
}
?>