この記事の例では、PHP インターフェイス テクノロジについて説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
1. インターフェイスは特別な抽象クラスですが、なぜこれを言うのですか?抽象クラス内のすべてのメソッドが抽象メソッドである場合、それを「インターフェイス」と呼びます。
2. また、インターフェース内で変数を宣言することはできません。
3. インターフェース内のすべてのメンバーはパブリック権限を持っています。すべてのサブクラスは、実装時にパブリック権限も使用する必要があります。
4. クラスを宣言する場合はキーワード「class」を使用し、インターフェイスを宣言する場合はキーワード「interface」を使用します。
<?php //定义一个接口使用interface关键字,“One”为接口名称 interface One{ //定义一个常量 const constant = 'constant value'; //定义一个抽象方法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) に注目してください。