Az öröklődés a kód újrahasznosításának egy gyakori módja. Az alábbi formElement
osztály adattagjait és tagfüggvényét örökli a leszármazott dateInput
osztály.
<?php
class formElement {
var $str_id;
var $str_name;
var $str_class;
function isRequired() {
// Érvényesítő kód
}
}
?>
<?php
class dateInput extends formElement {
var $str_value;
// Speciálisabb érvényesítés
function isValidDate() {
// Érvényesítő kód
}
}
?>
Így a myDate
objektum tagjai között elérhetők mind a saját, mind az ősétől örökölt tagok.
<?php
$myDate = new dateInput();
$myDate->str_id = 'mydate';
$myDate->str_name = 'mydate';
$myDate->str_value = '2006/06/09';
$myDate->isRequired();
$myDate->isValidDate();
?>
A konstruktorok futása
Öröklődés esetén a leszármazott konstruktorból meg kell hívnunk a szülő valamelyik konstruktorát. PHP 4-es esetén:
<?php
class fruit {
// Konstruktor:
function fruit() {
}
}
?>
<?php
class apple extends fruit {
function apple() {
// A szülő osztály konstruktorának hívása
$this->fruit();
}
}
?>
PHP 5-ös esetén az ősosztály konstruktorát a parent
hatókörben tudjuk elérni:
<?php
class fruit {
// Konstruktor:
function __construct() {
}
}
?>
<?php
class apple extends fruit {
function __construct() {
// Szülő osztály konstruktorának hívása
parent::__construct();
}
}
?>