インターフェースは、さまざまなクラスの共通の動作を定義し、さまざまなクラスにさまざまな機能を実装します。多くの人が一緒にプロジェクトを開発する場合、全員が他の人が作成したクラスを呼び出すことがありますが、このとき、特定の関数の実装メソッドに名前を付けるにはどうすればよいでしょうか?インターフェイス クラスを定義する場合、そのクラス内のメソッドは、次のようなサブクラスによって実装する必要があります。
多態性です
インターフェイスの実装メソッドは多数存在する可能性があるため、インターフェイス内の最上位メソッドの特定の実装が多数存在します。この機能はポリモーフィズムと呼ばれます。ポリモーフィズムとは、クラスが使用されるコンテキストに応じてクラスの性質や動作を再定義または変更するオブジェクト指向の機能を指します。
PHP はポリモーフィズムを達成するためのオーバーロードをサポートしていませんが、PHP はさまざまな方向でポリモーフィック効果を達成できます。
ケース 1:
ケース 2:
抽象クラス
抽象クラスはインターフェースとクラス定義の間にあります
PHP5 は抽象クラスと抽象メソッドをサポートします。抽象クラスを直接インスタンス化することはできません。最初に抽象クラスを継承してから、サブクラスをインスタンス化する必要があります。抽象クラスには、少なくとも 1 つの抽象メソッドが含まれている必要があります。クラス メソッドが抽象として宣言されている場合、具体的な関数実装を含めることはできません。
抽象クラスを継承する場合、サブクラスは抽象クラス内のすべての抽象メソッドを実装する必要があります。さらに、これらのメソッドの可視性は抽象クラスと同じ (またはより緩和された) 必要があります。抽象クラス内の抽象メソッドが保護されていると宣言されている場合、サブクラスに実装されているメソッドは保護またはパブリックとして宣言する必要があり、プライベートとして定義することはできません。
れーれー