Académique Documents
Professionnel Documents
Culture Documents
UFR SET
POO - INTERFACE
C. THIAM
Interface
interface
exemple
• interface Affichable {
• public function affiche();
• }
• class Person implements Affichable {
• public $nom;
• public function affiche() {
• echo $this->nom;
• } On spécifie ici qu’un objet pourra être
qualifié d’«affichable» dès lors qu’il
• } possèdera une méthode «affiche»
L’interface Figure
public interface Figure{
public function périmètre();
public function surface();
public function init($a, $b);
}
Implémentation (java)
class FigureGeometrique implements Figure{
private longueur;
private int largeur;
public FigureGeometrique() {
System.out.println(« Une figure »);
}
public function perimetre() {
return (this.largeur +this.longueur)*2;
//this rplce le nm d la class
}
public function surface() {
return (this.largeur *this.longueur);
}
}
Implémentation
• donne une implantation de toutes les méthodes
définies dans l’interface
• peut ajouter des définitions spécifiques à cette
classe (p.ex. le constructeur)
Particularités
• Une même classe peut implémenter plusieurs interfaces
• Peuvent hériter les unes des autres
• Peuvent définir des constantes
Résumé implémentation
• permet de définir que plusieurs objets ont un comportement
commun
• définition d’un nouveau type
• interface = impose un certain nombre de fonction, mais aucune
• contrainte sur l’implantation
• interface ne contient pas de code
• en pratique :
o créer une interface ( interface )
o créer les classes qui vont implanter ( implements ) cette interface
Améliorations possibles
• que faire quand seulement une partie du comportement est
commun ?
• peut-on partager du code ?
15
Cours POO C THIAM