PHP/Programmazione/OOP: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
aggiunte interfacce
Riga 196:
 
==Interfacce==
Le interfacce sono delle ulteriori astrazioni delle classi astratte. Vengono definite tramite la keyword interface seguita dal nome voluto per l'interfaccia e le graffe.
<source lang=php>
interface miainterfaccia{
public function setName($name);
public function getName();
}
</source>
 
In pratica è come se dichiarassi una classe astratta, con l'agevolazione di non dover dichiarare tutto abstract. Una classe che implementi tale interfaccia deve ridefinire tutti i metodi obbligatoriamente pena fatala error, esattamente come per le classi astratte, vediamo l'implementazione:
<source lang=php>
class miaclasse implements miainterfaccia{
public $name;
public function setName($name){
$this->name=$name;
}
 
public function getName(){
return $this->name;
}
}
</source>
 
Come per le classi astratte la classe implementante deve ridefinire tutti i metodi preservando la signature tranne per l'ambito che può essere ristretto.
 
==Namespaces==