PHP Interface

| | | | | | | | | | | | | | | | | | |
Une interface permet aux utilisateurs de créer des programmes en définissant des méthodes publiques qu`une classe doit implémenter sans affecter les complexités et les détails de la manière dont des méthodes spécifiques sont implémentées. Ceci est communément appelé le niveau d`abstraction suivant. Cela ressemble à des méthodes abstraites, rappelant les classes abstraites. Une interface est définie de la même manière qu`une classe est définie, mais le mot-clé class est remplacé par le mot-clé interface et uniquement les prototypes de fonction. L`interface ne contient aucune donnée variable. Une interface est utile dans le sens où elle fournit une sorte de support de métadonnées pour toutes les méthodes sur lesquelles le programmeur veut travailler. Créer une interface Vous trouverez ci-dessous un exemple de définition d`une interface à l`aide du mot-clé interface.interface MonNomInterface public fonction methodA(); public function methodB(); }
?>
Plusieurs caractéristiques d`interface :
  • Une interface se compose de méthodes qui n`ont pas d`implémentation, ce qui signifie que les méthodes d`interface sont des méthodes abstraites.
  • Toutes les méthodes des interfaces doivent avoir une portée commune.
  • Les interfaces sont différentes des classes puisqu`une classe ne peut hériter que d`une classe, alors qu`une classe peut implémenter une ou plusieurs interfaces.
Pour implémenter une interface, utilisez l`instruction implementer comme suit : class MyClassName implémente MyInterfaceName public fonction methodA() // méthode Une implémentation } public fonction methodB() { // implémentation de la méthode B } }
?>
Classe spécifique : la classe qui implémente l`interface est appelée classe concrète. Il doit implémenter toutes les méthodes définies dans l`interface. Les interfaces portant le même nom ne peuvent pas être implémentées en raison d`une erreur d`ambiguïté. Comme toute classe, une interface peut être étendue à l`aide de l`instruction extends comme suit : interface MonNomInterface1 public fonction méthodeA();
} interface MonNomInterface2 étend MonNomInterface1 public fonction méthodeB(); }
?>
Exemple  : < ? php interface MonNomInterface public fonction méthode1(); public fonction méthode2();
} classe MyClassName implémente MonNomInterface public fonction method1() { echo "Method1 Called" . ""  ; } public fonction method2() { echo "Method2 Called" . ""  ; } } $obj = new MyClassName ; $obj -> method1(); $obj -> method2();
?>
Quitter :
Method1 Called Method2 Called
Avantages de l`interface PHP
  • L`interface permet à des classes non liées d`implémenter le même ensemble de méthodes indépendamment de leur position dans la hiérarchie d`héritage de classe .
  • Une interface peut modéliser l`héritage multiple car une classe peut implémenter plus d`une interface, alors qu`elle ne peut étendre qu`une seule classe.
  • L`implémentation de l`héritage sauvera la l`appelant d`implémenter entièrement les méthodes de l`objet et de se concentrer uniquement sur l`interface de l`objet, de sorte que l`interface de l`appelant reste la même.