Abgeleitete Klasse

In der objektorientierten Programmierung lassen sich Kopien vorhandener Klassen erstellen. Die so abgeleiteten Klassen erben Eigenschaften und Methoden der Elternklassen. Da Kopien von Klassen in der Regel benötigt werden, um bestehende Klassen um speziellere Eigenschaften oder Methoden zu erweitern, lautet das typische Schlüsselwort dazu extends (»erweitert«).

Angenommen, Sie haben in PHP folgende Klasse mit Klassenvariablen:

<?php
class Person {
   var $given_name;
   var $family_name;
   var $birthday_dd;
   var $birthday_mm;
   var $birthday_yyyy;
}
?>

Sie haben möchten nun außerdem eine Klasse für Kontaktdaten anlegen. Dann bietet Ihnen das Konzept
der objektorientierten Programmierung an, die existierende Klasse Person zu kopieren und zu
erweitern. Beispiel:

<?php
class Contact extends Person {
   var $street;
   var $zip_code;
   var $location;
   var $phone_number;
   var $mobile_number;
   var $mail_address;
}
?>

Üblicherweise gilt folgende Regel: Hat die abgeleitete Klasse eine eigene Konstruktorfunktion, so wird diese beim Erzeugen eines Objekts aufgerufen, die der Elternklasse dagegen nicht. Gibt es in der abgeleiteten Klasse dagegen keine Konstruktorfunktion, so wird, falls die Elternklasse eine Konstruktorfunktion besitzt, diese aufgerufen.

Vor allem Letzteres müssen Sie als Programmierer wissen, denn wenn die Konstruktorfunktion der Elternklasse Parameter erwartet, müssen Sie die abgeleitete Klasse beim Erzeugen eines
Objekts mit den Parametern aufrufen, die von der Konstruktorfunktion der Elternklasse erwartet
werden.

Inhalt stammt zum Teil aus dem Buch, S.720

page_revision: 2, last_edited: 1219353856|%e %b %Y, %H:%M %Z (%O ago)