PHP/Programmazione/OOP: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ramac (discussione | contributi)
m →‎Le classi in PHP: fix e commenti
Ramac (discussione | contributi)
Nessun oggetto della modifica
Riga 29:
//questa funzione è il costruttore della classe e si chiama sempre così
function __construct ($parametri) {
//istruzioni...
 
}
 
Riga 46:
<source lang=php>include_once("class.NomeClasse.php");</source>
 
=== CreareLavorare con gli attributi ===
Abbiamo detto che un attributo non è altro che una variabile della classe; bisogna tuttavia fare attenzione che tale sia leggibile dall'esterno della classe. Infatti, quando si lavora normalmente con le variabili, queste hanno un ambito '''privato''', ovvero possono essere lette solo all'interno della funzione o della classe all'interno della quale sono state dichiarate:
<source lang=php>
Riga 67:
}
 
$ogg = new Prova();
echo $ogg->a //stampa "5"
 
$ogg2 = new Prova();
$ogg2->a = 3;
echo $ogg2->a //restituisce 3
</source>
 
Riassumendo:
In conclusione:
* le '''variabili normali''' sono leggibili solo all'interno della classe; questa scelta può essere dettata da motivi di sicurezza o per evitare errori. Queste variabili, dette '''private''', possono essere dichiarate tramite l'istruzione <code>private</code>.
* le '''variabili con accesso pubblico''' (dichiarate tramite la parola chiave <code>'''public'''</code>) sono leggibili anche dall'esterno della classe e sono quindi i suoi attributi.
 
All'interno della classe, per accedere ai suoi attributi, si usa la variabile <code>$this</code>, che restituisce l'istanza corrente della classe:
<source lang=php>
public $attr;
//...
£this->attr = "abcd"; //imposta l'attributo attr per l'istanza corrente
//...
echo $this->attr; //restituisce attr
//...
</source>
 
=== CreareLavorare con i metodi ===
Abbiamo detto che un metodo non è altro che una funzione, la quale va dichiarata all'interno della dichiarazione della classe:
<source lang=php>
Line 85 ⟶ 99:
}
 
$ogg = new Prova();
$num = $ogg->somma(5,2); //restituisce 7
</source>
 
Il metodo normalmente agisce sugli attributi della classe; normalmente questo è fatto per esempio dal costruttore.
</source>