Dichiarare e utilizzare una classe
Abbiamo visto nell'introduzione della programmazione agli oggetti che una classe rappresenta il modello di un oggetto e può contenere attributi o metodi. La sintassi utilizzata per definire una classe è la seguente
All'interno di una classe possono essere due metodi particolari chiamati:
Accedere ad attributi o metodi
Per accedere ad attributi di un oggetto si utilizza la seguente sintassi
Similmente per richiamare un metodo
Costruttore
E' il metodo che viene chiamato automaticamente quando viene creato un nuovo oggetto tramite la parola chiave new. Viene utilizzato tipicamente per svolgere inizializzazioni di vario tipo (per esempio per valorizzare attributi). Vediamo un esempio
La classe persona contiene un attributo $nome. Vediamo anche il metodo costruttore che accetta un parametro e lo assegna all'attributo nome. Quello che viene fatto successivamente è creare due oggetti di tipo persona, ma con due parametri diversi.
Quindi $p1 avrà come attributo nome "Luigi", mentre $p2 avrà come attributo nome "Mario"
Distruttore
E' il metodo che viene chiamato automaticamente quando un oggetto viene distrutto (per esempio quando non ci sono più riferimenti all'oggetto). Tuttavia ci interessa un po' meno dato che non c'è garanzia del momenti in cui viene richiamato
NB. Al termine dell'esecuzione dello script tutti gli oggetti vengono comunque distrutti senza che debbano essere dereferenziati.
Modificatori di visibilità
E' possibile definire all'interno di php tre modificatori di visibilità per permettere o negare la possibilità di accedere dall'esterno della classe a metodi o attrbuti:
Esempio
Anche se non è molto utile in pratica, vengono mostrati gli usi dei vari modificatori di visibilità.
Keyword $this
Fino ad ora è stato usato $this senza dire cosa fosse esattamente.
Durante l'esecuzione viene definita automaticamente una variabile speciale di nome $this che si riferisce all'istanza dell'oggetto a runtime; perciò utilizzando (vedi esempio precedente) $this->nome=$n non facciamo altro che andare a valorizzare a $n l'attributo nome dell'oggetto stesso.
Abbiamo visto nell'introduzione della programmazione agli oggetti che una classe rappresenta il modello di un oggetto e può contenere attributi o metodi. La sintassi utilizzata per definire una classe è la seguente
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- Costruttore
- Distruttore
Accedere ad attributi o metodi
Per accedere ad attributi di un oggetto si utilizza la seguente sintassi
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Costruttore
E' il metodo che viene chiamato automaticamente quando viene creato un nuovo oggetto tramite la parola chiave new. Viene utilizzato tipicamente per svolgere inizializzazioni di vario tipo (per esempio per valorizzare attributi). Vediamo un esempio
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Quindi $p1 avrà come attributo nome "Luigi", mentre $p2 avrà come attributo nome "Mario"
Distruttore
E' il metodo che viene chiamato automaticamente quando un oggetto viene distrutto (per esempio quando non ci sono più riferimenti all'oggetto). Tuttavia ci interessa un po' meno dato che non c'è garanzia del momenti in cui viene richiamato
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Modificatori di visibilità
E' possibile definire all'interno di php tre modificatori di visibilità per permettere o negare la possibilità di accedere dall'esterno della classe a metodi o attrbuti:
- public (var) L'attributo/metodo è visibile ovunque
- protected L'attributo/metodo è visibile solo all'interno della classe o delle sottoclassi
- private L'attributo/metodo è visibile solo all'interno della classe stessa
Esempio
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Keyword $this
Fino ad ora è stato usato $this senza dire cosa fosse esattamente.
Durante l'esecuzione viene definita automaticamente una variabile speciale di nome $this che si riferisce all'istanza dell'oggetto a runtime; perciò utilizzando (vedi esempio precedente) $this->nome=$n non facciamo altro che andare a valorizzare a $n l'attributo nome dell'oggetto stesso.
Ultima modifica: