Oft braucht man Klassen mit in einer anderen Klasse ähnlichen Variablen
und Funktionen. So ist es eine gute Vorgehensweise, eine in allen Ihren
Projekten verwendbare Oberklasse zu definieren, und diese dann den
Bedürfnissen Ihrer einzelnen Projekte anzupassen. Um dies zu erleichtern,
können Klassen andere Klassen erweitern. Die erweiterte bzw. abgeleitete
Klasse verfügt über alle Variablen und Funktionen der Basisklasse (dies
wird 'Vererbung' genannt, obwohl niemand gestorben ist), und was Sie in
der erweiterten Definition hinzufügen. Es ist nicht möglich, etwas von
einer Klasse wegzunehmen, d.h. Sie können keine existierenden Variablen
oder Funktionen 'wegdefinieren'. Eine Unterklasse ist immer von einer
einzigen Oberklasse abhängig, d.h. Mehrfachvererbung wird nicht
unterstützt. Klassen werden mittels dem Schlüsselwort 'extends' erweitert.
Hier wird die Klasse Named_Cart definiert, die über alle Variablen
und Funktionen von Cart, plus der Variable $owner und der Funktion
set_owner() verfügt. Sie können einen bestimmten Einkaufswagen
(Named_Cart) auf dem üblichen Weg erstellen, und nun auch den
Besitzer (owner) bestimmen und erfragen. Sie können noch immer
die normalen Cart Funktionen an Named_Cart anwenden: