ホームページ > php教程 > PHP开发 > phpインターフェース技術事例を詳しく解説

phpインターフェース技術事例を詳しく解説

黄舟
リリース: 2016-12-14 10:40:27
オリジナル
1205 人が閲覧しました

この記事の例では、PHP インターフェイス テクノロジについて説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

1. インターフェイスは特別な抽象クラスですが、なぜこれを言うのですか?抽象クラス内のすべてのメソッドが抽象メソッドである場合、それを「インターフェイス」と呼びます。

2. また、インターフェース内で変数を宣言することはできません。

3. インターフェース内のすべてのメンバーはパブリック権限を持っています。すべてのサブクラスは、実装時にパブリック権限も使用する必要があります。

4. クラスを宣言する場合はキーワード「class」を使用し、インターフェイスを宣言する場合はキーワード「interface」を使用します。

<?php
//定义一个接口使用interface关键字,“One”为接口名称
interface One{
  //定义一个常量
  const constant = &#39;constant value&#39;;
  //定义一个抽象方法fun1
  public function fun1();
  //定义了抽象方法fun2
  public function fun2();
}
?>
ログイン後にコピー

5. インターフェース内のすべてのメソッドは抽象メソッドであるため、抽象クラスのような抽象メソッドを宣言するときに「abstract」キーワードを使用する必要はありません。このキーワードはデフォルトで追加されています。

6. インターフェースのアクセス権限はパブリックである必要があり、デフォルトでは「プライベート」権限と「保護された」権限は使用できません。

7. インターフェイスは特別な抽象クラスであり、その中のメソッドはすべて抽象メソッドであるため、インターフェイスはインスタンス オブジェクトを生成できません。

8. 「extends」キーワードを使用して、あるインターフェイスに別のインターフェイスを継承させることができます。

interface Two extends One{
  function fun3();
  function fun4();
}
ログイン後にコピー

9. インターフェース内のすべての抽象メソッドを実装するインターフェースのサブクラスを定義する場合、使用されるキーワードは、前に述べたように「extends」ではなく「implements」です。

class Three implements Two{
  function fun1() {
    ;
  }
  function fun2() {
    ;
  }
  function fun3(){
    ;
  }
  function fun4() {
    ;
  }
}
$three = new Three();
$three->fun1();
ログイン後にコピー

10.PHP は単一継承です。クラスは親クラスを 1 つだけ持つことができますが、クラスは複数のインターフェイスを実装できます。これは、クラスが複数の仕様に準拠する必要があることと同等です。インプリメントを使用して複数のインターフェイスを実装するには、オブジェクトをインスタンス化する前にインターフェイス内のすべてのメソッドを実装する必要があります。

11.PHP は複数のインターフェイスを実装できるだけでなく、クラスを継承しながら複数のインターフェイスを実装することもできます。まずクラスを継承してからインターフェイスを実装する必要があります。

<?php
//使用extends继承一个类,使用implements实现多个接口
class Test extends 类名一 implements 接口一,接口二,...{
//所有接口中的方法都要实现才可以实例化对象
  ......
}
ログイン後にコピー

この記事が PHP プログラミングのすべての人に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。


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