Manuel PHP
Précédent | Chapitre 18. Les classes et les objets (PHP 5) | Suivant

# Interfaces

Les interfaces objet vous permettent de créer du code qui spécifie quelles méthodes et variables une classe peut implémenter, sans avoir à définir comment des méthodes seront gérées.

Les interfaces sont définies en utilisant le mot clé "interface", de la même façon qu'une classe standard mais sans aucun méthode ayant son contenu de défini. Les classes qui implémentent une interface doivent le faire en utilisant le mot clé implement et doivent avoir des définitions de toutes les méthodes listées dans l'interface. Les classes qui implémentent plus d'une interface doivent le faire en listant chaque interface, séparées d'un espace.

Si une classe définissant une interface n'implémente pas toutes les méthodes dans l'interface, une erreur fatale vous indiquera quelle méthode n'a pas été implémentée.

Exemple 18-11. Exemple d'interface

`<?php
interface ITemplate
{
public function setVariable($name, $var);
public function getHtml($template);
}
class Template implements ITemplate
{
private $vars = array();
public function setVariable($name, $var)
{
$this->vars[$name] = $var;
}
public function getHtml($template)
{
foreach($this->vars as $name => $value) {
$template = str_replace('{'.$name.'}', $value, $template);
}
return $template;
}
}
?>`

Précédent | Sommaire | Suivant
Abstraction d'objets | Niveau supérieur | Surcharge