PHP/Programmazione/OOP: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 162:
</source>
<br>
Se scommentiamodecommentiamo (togliendo i caratteri "//") la riga 21, il motore php restituirà il seguente errore:<br>
<code>PHP Fatal error: Cannot access private property prova::$priv in /path_del_file/test.php on line 14, referer: http://localhost/</code><br>
 
La stessa cosa succede se ricommentiamo la riga 21 (rimettendo i caratteri "//") scommentiamodecommentiamo la riga 22, e: questo perché stiamo richiamando la variabile dall'esterno della classe. Come si vede invece dalla riga 25, il metodo <code>stampa()</code> viene richiamato dalla variabile <code>a</code> che è istanza della classe prova. Essendo il metodo stampa() parte della classe prova, esso può accedere alla variabile privata <code>priv</code>.<br/>
ScommentandoDecommentando la riga 29 otterremo un effetto che può sembrare particolare, anziché dare errore il motore stamperà <code>b priv</code> e tutto quello che segue questa riga. Infatti la variabile privata priv non viene estesa ed il motore non restituisce un fatalerrore fatale, bensì:<br>
<code> Undefined property: altro::$priv in /path/test.php on line 29, referer: http://localhost/</code><br>
 
La riga 32 mostra che il metodo ristampa può accedere alla variabile protetta <code>prot</code>, infatti tale variabile è estesa alla classe <code>altro</code>.
 
==Classi Astratte==