mi sono rimasti solo un paio di quesiti
quando crei un'istanza della classe figlia, NON viene eseguito il costruttore della classe padre, per cui nel costruttore della figlia dovresti inserire esplicitamente il richiamo al costruttore della classe padre
esempi:
codice:
class Padre {
function Padre() {
echo 'costruttore padre';
}
}
class Figlia {
function Figlia() {
echo 'costruttore figlia';
}
}
// creo un'istanza di Figlia:
$var = new Figlia;
// cosi viene eseguito solo il costruttore di Figlia
se volessi chiamare anche il costruttore di padre, lo dovrei richiamare esplicitamente:
codice:
class Figlia extends Padre {
function Figlia() {
$this->Padre();
echo 'costruttore figlia';
}
}
nel caso in cui le due classi abbiano due funzioni (una a testa) con lo stesso nome, la scrittura $this->funzione(); richiama la funzione della classe, mentre la scrittura Classe::funzione(); richiama la funzione della classe appropriata.
esempio
codice:
class Padre {
function pippo() {
echo 'pippo dentro a padre';
}
}
class Figlia extends Padre {
function pippo() {
echo 'pippo dentro a figlia';
}
}
// creo un oggetto Figlia
$var = new Figlia;
// pippo() della classe Figlia
$var->pippo();
// pippo() della classe Padre
Padre::pippo();
spero di essere stato chiaro e soprattutto di non aver scritto castronerie :D