42 – 43 OOP Oggetti
Oriented Object Programming in italiano programmazione orientata ad oggetti. Per definire un oggetto, bisogna definire la sua classe, per farlo, il comando da utilizzare è class, seguita dal nome della classe che scegliamo, poi all’interno delle graffe si descrive la classe, con variabili, dette property o proprietà e/o funzioni, detti metodi. Ecco un esempio semplice di classe un po’ particolare:
class io { static $nl="<br />"; }
Questo tipo di classe specifica, normalmente, è un oggetto detto “di servizio” con delle proprietà di tipo static, accessibili dall’esterno. Per richiamare la classe io (input/output), visto che la sua proprietà è statica, di default è anche pubblica, metterò semplicemente il suo nome (io) e la proprietà che voglio richiamare ($nl) uniti dai doppi due punti (::)
io::$nl
Adesso definisco una classe prodotto con le sue proprietà (dette anche stato interno) e ne definisco anche i tipi di stampe, quindi i metodi.
class Prodotto { //stato interno private $nome="Occhiali", $prezzo=12.5, $iva=22; //metodi public function stampa() { echo "Scheda per il prodotto $this->nome". io::$nl ; echo "----------------------------------------------". io::$nl ; echo "IVA: $this->iva% ". io::$nl; } }
Da notare che le proprietà nello stato interno (le variabili) sono definite private, quindi qualsiasi tentativo di accesso o modifica a tali proprietà della classe occhiali sarebbe vano esternamente all’oggetto. Le varie proprietà sono separate tra loro da virgola e finiscono col punto e virgola. Il consiglio è di usare sempre le proprietà come stato private (salvo casi particolari). I metodi, visto che devono essere usati esternamente, o almeno in questo caso, sono pubblici, quindi public. Il comando $this identifica, tramite l’operatore ->, una proprietà all’interno di questa classe. Vediamo come creare l’oggetto appartenente alla classe prodotto e la stampa dei suoi elementi:
$prodotto = new Prodotto(); $prodotto->stampa();