Maison > Article > développement back-end > Maverick outsider - interface en php
Les classes de php
ne sont pas autorisées à 多继承
, mais 接口
peut l'être 多继承
Deuxièmement, l'interface peut être utilisée pour implémenter l'implémentation spécifique de 封装
sans exposer les détails d'implémentation spécifiques à. l'extérieur. Seul 接口
est exposé, et les utilisateurs ne peuvent y accéder que via 接口
, qui présente également un certain degré de sécurité.
1. Définition : L'interface, définie à l'aide du mot-clé interface
, s'apparente à une classe et est spécifiquement utilisée pour standardiser les méthodes qui doivent être implémentées par certaines classes courantes.
interface People{}
2. Implémentation de l'interface : L'interface est utilisée pour standardiser ce que la classe doit accomplir, donc l'interface ne peut être implémentée que par la classe : implements
. (L'instanciation n'est pas autorisée)
class Man implements People{}
3. Membres de l'interface : Seuls 公有抽象方法
et 接口常量
interface Animal{ const NAME = '人';//只允许有接口常量 public function eat();//接口方法必须为公有抽象方法 }
peuvent être définis dans l'interface 4. Membres de l'interface La classe d'implémentation doit implémenter tout 抽象方法
, ou la classe d'implémentation est 抽象类
, 接口常量
est accessible directement dans la classe d'implémentation
interface Animal{ const NAME = '人'; public function eat(); } //实现接口 class Man implements Animal{ //必须实现接口所有抽象方法 public function eat(){ echo self::NAME; //可以访问接口常量 } } //抽象类实现接口 abstract class Ladyboy implements Animal{} //正常实现
5. 类成员
qui implémente l'interface, n'est pas autorisé à réécrire les constantes dans l'interface et n'est pas autorisé à augmenter les autorisations de contrôle des méthodes d'interface
interface Animal{ const NAME = '人'; public function eat(); } class Woman implements Animal{ //重写接口常量 const NAME = '女人'; //错误:不允许重写接口常量 //强化接口方法控制 private function eat(){} //错误:接口方法不允许使用其他访问修饰限定符,必须使用public }
6. Les interfaces peuvent hériter d'interfaces : extends
, et les interfaces peuvent hériter de plusieurs interfaces
interface Plant{ public function lightning(); } interface Animal{ public function eat(); } //单继承 interface Man extends Animal{} //多继承 interface Apple extends Plant,Animal{}
Recommandé : tutoriel vidéo php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!