Maison > développement back-end > tutoriel php > php 设计模式 之 interface 接口简介

php 设计模式 之 interface 接口简介

WBOY
Libérer: 2016-06-23 13:29:04
original
1077 Les gens l'ont consulté

须知

  • 与大多数抽象类一样,interface 也有抽象方法,不管不能和抽象类一样在接口中包含具体的方法或变量(做为抽象性的例外)
  • 一般约定接口总以字母 I 或者 i 开头
  • 接口中定义的所有方法都必须是public,这是接口的特性
  • 实现多个接口时,接口中的方法不能有重名。
  • 接口也可以继承,通过使用 extends 操作符。
  • 类要实现接口,必须使用和接口中所定义的方法完全一致的方式。否则会导致致命错误。
  • 接口中也可以定义常量。接口常量和类常量的使用完全相同,但是不能被子类或子接口所覆盖。
  • 理解

    PHP接口类interface就是一个类的领导者,指明方向,子类必须完成它指定方法

    简单代码示范
    <br />/** * interface 接口 * 与大多数抽象类一样,interface 也有抽象方法,不管不能和抽象类一样在接口中包含具体的方法或变量(做为抽象性的例外) * 一般约定接口总以字母 I 或者 i 开头 * 接口中定义的所有方法都必须是public,这是接口的特性 */// 定义一个接口类,以 interface 开头而不是 classinterface ISMS{    // 可以定义常量    const USERNAME = 'hhh';    // 定义的方法,子类必须实现    public function getInfo($info);    public function sendInfo($info);}// 实现一个接口,使用 implements 而不是 extendsclass Register implements ISMS{    // 使用接口常量,需要用 作用域解析操作符    private $username = ISMS::USERNAME;    public function getInfo($info){        return 'getInfo=>'.$info;    }    public function sendInfo($info){        return 'sendInfo=>'.$info;    }    public function getUserName(){        return $this->username;    }}$test = new Register();echo $test->getInfo('Enda'); // getInfo=>Endaecho $test->sendInfo('Enda'); // sendInfo=>Endaecho $test->getUserName(); // hhh
    Copier après la connexion
    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