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();