Redazione
a- a+

Il modello ad oggetti di PHP 5

Vediamo il che cosa è il modello ad oggetti e come funziona. Codici ed esempi.

Grazie all’apertura al paradigma object oriented, la versione 5 di PHP raggiunge un elevato livello di maturità e affidabilità. In particolare PHP 5 assomiglia molto a C++ e consente di definire classi, creare oggetti che siano istanza di classi, creare gerarchie di oggetti che siano in relazione di eredità semplice. A differenza del C++, il modello PHP 5 non consente, come abbiamo visto nel capitolo 3, l’eredità multipla. Il modello ad oggetti di PHP 5 consente, inoltre, di utilizzare l’incapsulazione limitando l’accesso alle informazioni presenti in una classe e permette di utilizzare il polimorfismo per effettuare overloading di metodi ed operatori.

Come abbiamo visto nei capitoli precedenti, in un ambiente object oriented la definizione di una classe consiste nell’individuare tutte le caratteristiche e i comportamenti di un determinato tipo di oggetti. Sarà poi molto importante decidere quali attributi e metodi potranno essere resi disponibili allo script che utilizzerà l’oggetto e quali dovranno essere mantenuti privati, cioè utilizzabili esclusivamente dall’interno degli altri metodi della classe.

In PHP 5 la classe viene definita nel seguente modo:

class NomeClasse extends NomeSuperClasse
{
// dichiarazione degli attributi (tramite la keywords var)
// dichiarazione del costruttore e del distruttore (opzionale)
// dichiarazione e definizione dei metodi (tramite la keywords function)
}

Quindi una classe prevede l’utilizzo del costrutto class seguito dal nome della classe ed eventualmente dall’indicazione della superclasse tramite keyword extends. Il costrutto poi deve essere seguito da un blocco di codice PHP, racchiuso tra parentesi graffe, che descrive in modo completo tutti gli elementi che compongono la classe: gli attributi, gli eventuali costruttori e distruttori e i metodi che agiscono sugli attributi. Un metodo non è altro che una funzione interna alla definizione di classe e che, a causa della sua collocazione, è in grado di accedere a tutti gli oggetti interni della classe, compresi i suoi attributi privati, e pertanto può restituire in output una copia del valore della variabile che ci interessa. Il meccanismo per accedere a una variabile interna è rappresentato dalla sintassi:

$this->nome variabile

Dove $this rappresenta l’oggetto che sarà costruito a runtime e che avrà quindi dei valori all’interno della proprietà. Per accedere a una proprietà o a un metodo di un oggetto si utilizza la sintassi:

oggetto->nome variabile

oppure

oggetto -> nome metodo(parametri)



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Luca
Ti è piaciuto l'articolo?