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