PHP クラスのインターフェイスのアプリケーション キーワードは、インターフェイスと実装です。インターフェイスは、そのメンバー属性がすべて抽象または定数である特別な抽象クラスです。以下にいくつかの例を見てみましょう。
クラスでのインターフェースの適用
1. キーワード: インターフェース
2. キーワード: 実装
1. インターフェースの導入と作成
インターフェース: メンバー属性がすべて抽象または定数である特別な抽象クラス。
ルール:
1. クラス内のすべてのメソッドは抽象です。
2. 抽象メソッドに抽象メソッドを追加する必要はありません。
3. インターフェースの抽象メソッド属性は public です。
4. メンバー属性は定数である必要があります。
形式:
コードは次のとおりです | コードをコピー |
インターフェースのデモ { 関数 fun1(); |
2. インターフェースのアプリケーションと仕様
インターフェイス参照は、クラス継承キーワード extends とは異なります。継承は単一のみですが、インターフェイスはキーワードimplements を使用して、カンマで区切って複数の参照を持つことができます
。1. 形式: 通常のクラス参照インターフェース
クラス MyPc は、demo、demo2、demo3 を実装します {
...
}
2. 形式: 抽象クラスアプリケーションインターフェースの例
抽象クラス MyPc は、demo、demo2、demo3 を実装します {
...
}
3. 形式: 親クラス参照インターフェースを継承して共存
クラス MyPc は、Root を拡張して、demo、demo2、demo3 を実装します {
...
}
最初にインターフェイスを継承し、次にインターフェイスを継承し、単一継承の複数のインターフェイスを継承します。
4. フォーマット: インターフェースとインターフェースの継承
インターフェースdemo3はデモを拡張します{
...
}
例:
コードは次のとおりです | コードをコピー |
インターフェイスのデモ { インターフェースデモ2 { インターフェースデモ3 { クラス MyPc はデモ、demo2 を実装します { クラス MyPs は MyPc を拡張し、demo3 を実装します { |
例
インターフェースはキーワードinterfaceを使用して定義され、キーワードimplementsはインターフェース内のメソッドを実装するために使用されます。これは完全に実装する必要があります。
例:
コードは次のとおりです | コードをコピー |
//インターフェースを定義します $display = 新しいグッズ(); |
この例を実行すると、次のように出力されます:
VIPユーザー製品価格:80元
この例は、PHP インターフェイスの簡単なアプリケーションを示しています。この例では、ユーザー インターフェイスはユーザーの割引を実装し、VipUser クラスは特定の割引係数を実装します。最後に、製品カテゴリ「Goods」は、ユーザー インターフェイスに基づいてさまざまなユーザーの見積もりを実装します。
この例は、PHP インターフェースの使用法を示すことに限定されており、その科学的性質には関与しません。
複数のインターフェースを実装する
PHP はクラスを継承するときに複数のインターフェースを同時に実装することもできます:
クラスのサブクラスは親クラスの実装を拡張し、インターフェイス 1、インターフェイス 2、...
{
…
}
抽象クラスとインターフェースの違い
インターフェイスは特別な抽象クラスであり、モデルの仕様とみなすこともできます。インターフェースと抽象クラスの一般的な違いは次のとおりです:
1. サブクラスがインターフェイスを実装する場合は、そのインターフェイス内のすべてのメソッドを実装する必要があります (必要かどうかに関係なく)。抽象クラスを継承する場合は、必要なメソッドのみを実装する必要があります。
2. インターフェイスで定義されたメソッド名が変更された場合、このインターフェイスを実装するすべてのサブクラスはメソッド名を同期的に更新する必要があり、抽象クラスでメソッド名が変更された場合でも、そのサブクラスの対応するメソッド名は影響を受けません。ただし、それは (古いメソッドの実装と比較して) 新しいメソッドになるだけです。
3. 抽象クラスは 1 つだけ継承できます。複数の親クラスから継承する必要がある関数をサブクラスで実装する必要がある場合は、インターフェイスを使用する必要があります。