ホームページ > バックエンド開発 > PHPチュートリアル > PHPデザインパターンのインターフェースインターフェースの紹介

PHPデザインパターンのインターフェースインターフェースの紹介

WBOY
リリース: 2016-06-23 13:29:04
オリジナル
1088 人が閲覧しました

注意事項

  • ほとんどの抽象クラスと同様に、インターフェースにも抽象メソッドがありますが、抽象クラスのように (抽象化の例外として) インターフェースに特定のメソッドや変数を含めることはできません
  • インターフェースは常に文字 I またはで始まることが一般的に合意されています
  • インターフェースで定義されるすべてのメソッドはパブリックでなければなりません。これはインターフェースの特性です
  • 複数のインターフェースを実装する場合、インターフェース内のメソッドは同じ名前を持つことができません。
  • extends 演算子を使用してインターフェイスを継承することもできます。
  • インターフェイスを実装するには、クラスはインターフェイスで定義されているメソッドとまったく同じメソッドを使用する必要があります。そうしないと、致命的なエラーが発生します。
  • 定数はインターフェースでも定義できます。インターフェイス定数はクラス定数とまったく同じように使用されますが、サブクラスまたはサブインターフェイスによってオーバーライドすることはできません。
  • 理解する

    PHP インターフェイス クラス インターフェイスはクラスのリーダーであり、方向を示し、サブクラスはその指定されたメソッドを完了する必要があります

    簡単なコードのデモ
    <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
    ログイン後にコピー
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート