Da oggi introdurremo una miniserie di tutorial per descrivere la programmazione orientata ad oggetti in PHP, la cui implementazione è stata introdotta come punto di forza della versione 5, fornendo le capacità ad un linguaggio già maturo come di PHP di poter essere al passo di linguaggi e tecnologie più moderne, dandone sicuramente una condizione di maggior affidabilità e manutenibilità, consentendo inoltre la possibilità di risolvere problemi di vario genere anche complessi con relativa facilità.
Descrizione generale
La programmazione orientata ad oggetti è un paradigma di programmazione che nello scenario moderno è tra i più usati al mondo, composto da entità che interagiscono tra loro, che hanno una struttura a se stante incuranti di ciò che può accadere nel mondo intorno a loro. Gli attori principali che compongono le entità sono le classi e gli oggetti, le classi sono le definizioni di blocchi di codice formate da proprietà e metodi, gli oggetti invece sono le implementazioni delle definizioni appena citate.
Quando pensiamo alle classi bisogna fare una trasmigrazione con il mondo reale pensando come se esse fossero un progetto o un modello o una categoria di un qualcosa, e l’oggetto sia la sua realizzazione fisica. Per esempio la classe può essere paragonata al progetto di una casa e l’oggetto alla sua costruzione, da ciò possiamo dire che prendendo un progetto di una casa possiamo costruirne una, alcune, tante. Un’altro esempio può essere un automobile che dalla classe automobile possiamo creare tante automobili. Avvicinandoci al mondo della programmazione possiamo fare l’esempio di un bottone di un’interfaccia grafica che all’interno della classe scriviamo tutto il codice che lo compone e poi lo possiamo replicare infinite volte sempre basandoci sullo stesso modello.
Le classi
Le classi come detto in precedenza sono un modello, un progetto di quello che sarà un oggetto, esse sono composte sostanzialmente da due elementi che sono proprietà e metodi.
Le proprietà sono le caratteristiche che una classe può avere, per esempio in un’ ipotetica classe automobile le proprietà potranno essere il colore, il numero di marce, la velocità, la cilindrata. Un’altro esempio che possiamo fare e’ di una classe persona che avrà come proprietà il nome, il cognome, l’età, l’altezza.
I metodi invece sono le azioni che si possono compiere, per esempio riprendendo il caso dell’automobile possiamo visualizzarne la velocità, oppure visualizzarne i km percorsi, o gonfiarne le ruote, nell’ esempio di una persona si può modificarne l’età ogni anno che passa, oppure modificarne il peso, visualizzarne l’altezza.
Adesso vediamo un breve esempio:
<?php /* Definisco una classe */ class Persona{ private $nome = "Carlo"; private $cognome = "Rossi"; private $eta = "59"; public function getNome() { return $this->nome; } public function getCognome() { return $this->cognome; } public function getEta() { return $this->eta; } } /* Creo l'oggetto */ $persona = new Persona(); echo $persona->getNome(); echo "<br>"; echo $persona->getCognome(); echo "<br>"; echo $persona->getEta();
Per il momento non preoccupiamoci di capire il codice che vedremo in dettaglio più avanti.
I vantaggi
Nella programmazione ad oggetti abbiamo diversi vantaggi tipo la riutilizzabilità degli elementi, ciò ne permette il riutilizzo tutte le volte che vogliamo nello stesso progetto o anche in progetti diversi se essi ne consentono l’uso. Abbiamo inoltre un alto grado di manutenibilità di progetto, ciò significa che andando a modificare una parte di programma gli altri elementi che lo costituiscono non ne risentiranno dell’effetto rendendolo meno rigido. Abbiamo inoltre, usando il paradigma ad oggetti la possibilità di separare gli elementi di un progetto in tante classi, avendo per ognuna di esse al proprio interno tutte le caratteristiche e le funzionalità che ne servono per la corretta esistenza, ottenendo così un codice più ordinato, che lo renderà più comprensibile e facile da mantenere.
Creare una classe
Vediamo ora come usare classi ed oggetti.
Per creare una classe basta digitare la parola chiave class seguita dal nome che vogliamo darle, per convenzione il nome si scrive con la prima lettera maiuscola, il codice che la compone va scritto tra le parentesi graffe come nel seguente esempio.
<?php class LaMiaClasse{ // Il codice che compone la classe }
Vediamo adesso come aggiungere proprietà alla classe
<?php class Libro{ public $titolo = "Don Chisciotte della Mancia"; public $autore = "Miguel de Cervantes"; public $tipo = "romanzo"; public $numeroPagine = "600"; }
Le proprietà come visto nell’esempio precedente si definiscono come delle semplici variabili precedente dalle parole riservate public, private, protected.
Adesso possiamo creare l’oggetto e iniziare ad usare le proprietà definite nella classe.
// Creo l'oggetto istanziando la classe Libro $libro = new Libro(); // Visualizzo le proprietà echo "Titolo: ". $libro->titolo . "<br >"; echo "Autore: " . $libro->autore . "<br >"; echo "Tipo: " . $libro->tipo . "<br >"; echo "Numero di pagine: " . $libro->numeroPagine . "<br >";
Come si vede nel codice precedente per creare un’oggetto da una classe bisogna inizializzare una variabile definita dalla parola riservata new seguita dal nome della classe da istanziare.
Per richiamare le proprietà si usa il nome dell’oggetto, poi scriviamo il simbolo di trattino seguito dal simbolo di maggiore/minore (->) ed infine mettiamo il nome della proprietà da visualizzare senza $ che precede il nome.
In questo articolo abbiamo introdotto le classi e gli oggetti, nel prossimo inizieremo a scrivere qualche metodo e vedremo cosa significa la parola riservata “public” che abbiamo messo davanti alle proprietà della classe.
SviluppoMania
StayTuned