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==
|