Maverick outsider - interface en php

autoload
Libérer: 2023-04-09 19:58:02
original
2631 Les gens l'ont consulté

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{}
Copier après la connexion

 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{}
Copier après la connexion

3. Membres de l'interface  : Seuls 公有抽象方法 et 接口常量

interface Animal{
    
    const NAME = '人';//只允许有接口常量

    public function eat();//接口方法必须为公有抽象方法
}
Copier après la connexion

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{}		//正常实现
Copier après la connexion

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
}
Copier après la connexion

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{}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal