Funzioni per Classi/Oggetti
Classi/Oggetti
&reftitle.intro;
Queste funzioni permettono di ottenere informazioni sulle classi
e sulle istanze degli oggetti. Si può ricavare il nome della
classe da cui deriva un dato oggetto, come le sue proprietà e i
suoi metodi. Utilizzando queste funzioni si ottiene, non solo a
quale classe appartiene un dato oggetto, ma anche i suoi "padri"
(ad esempio da quale classe è derivata la classe dell'oggetto).
&reftitle.required;
&no.requirement;
&reftitle.install;
&no.install;
&reftitle.runtime;
&no.config;
&reftitle.resources;
&no.resource;
&reftitle.constants;
&no.constants;
&reftitle.examples;
In questo esempio, prima si definisce una classe base, quindi una
seconda che deriva dalla prima. La classe base descrive gli aspetti
generali degli ortaggi, se è commestibile e quale sia il colore. La
classe derivata Spinaci aggiunge i metodi di
cottura e di verifica della completa cottura.
classi.inc
commestibile = $commestibile;
$this->colore = $colore;
}
function e_commestibile() {
return $this->commestibile;
}
function che_colore_ha() {
return $this->colore;
}
} // Fine della classe ortaggio
// Estensione della classe base
class Spinaci extends Ortaggio {
var $cotto = false;
function Spinaci() {
$this->Ortaggio( true, "verde" );
}
function cuocilo() {
$this->cotto = true;
}
function e_cotto() {
return $this->cotto;
}
} // Fine della classe spinaci
?>
]]>
A questo punto si istanziano 2 oggetti a partire da queste classi
e si visualizzeranno le informazioni relative a questi oggetti, compresi
i loro padri. Verranno anche inserite funzioni di utilità
principalmente con lo scopo di rendere chiara la visualizzazione delle
variabili.
test_script.php
]]>
Un aspetto da notare nell'esempio precedente è che l'oggetto
$frondoso è un'istanza della classe
Spinaci che a sua volta è una sottoclasse di
Ortaggio, quindi l'ultima parte dell'esempio
visualizzerà:
&reference.classobj.functions;