PHP は人気のあるプログラミング言語であり、オブジェクト指向プログラミングでは、インターフェイスが一般的な概念です。 PHP のインターフェイスとは、クラスがメソッドのセットを定義するものの、実装は提供せず、インターフェイスを実装するクラスによってこれらのメソッドが実装されることを意味します。インターフェイスは実装クラスの標準化と制約の役割を果たし、優れた柔軟性と拡張性を備えています。 PHPのインターフェースは、抽象クラスインターフェースと通常インターフェースの2種類に分けられます。この記事では、PHP クラスのインターフェイス メソッドの違いに焦点を当てます。
1. 抽象クラス インターフェイス
抽象クラスはインスタンス化できず、継承のみが可能です。その主な機能は次のとおりです。他のクラスの基本構造共通のコードは抽象クラスに配置され、詳細はサブクラスに実装されます。抽象クラスのメソッドはオプションであり、一部は抽象メソッドとして定義できます (つまり、メソッド名のみでメソッド本体は含まれないメソッド)。抽象クラスには少なくとも 1 つの抽象メソッドが含まれている必要があり、そうでない場合は、その宣言内のすべてのメソッドが抽象メソッドとみなされます。一般的な方法。
例:
abstract class Animal{ abstract function eat(); function sleep(){ echo "晚安,好梦!"; } }
抽象クラスはインスタンス化できないため、サブクラスを通じてのみ実装できます。抽象クラスで定義されたすべての抽象メソッドを実装する必要があります。それ以外の場合は、サブクラスも抽象クラスとして定義する必要があります。
例:
class Cat extends Animal{ function eat(){ echo "吃小鱼干!"; } }
上記のコードでは、Animal
クラスを継承する Cat
クラスを定義し、同時に Cat
eat() メソッドは
クラスに実装されているため、Cat
クラスを通じてこの抽象クラスの特定の実装メソッドにアクセスできます。
2. 従来のインターフェイス
従来のインターフェイスは、PHP のインターフェイスの別の形式です。通常のインターフェイスにはメソッドと定数を含めることができます。インターフェイス内で定義されているすべてのメソッドはいずれかのクラスで実装する必要があります。実装しないと致命的なエラーが発生します。インターフェイスのクラスを実装することにより、クラスはインターフェイスで定義されたメソッドと定数にアクセスできます。
PHP では、通常のインターフェイスを定義し、実装する必要があるメソッドを指定できます。コード スニペットでは、
IAnimal インターフェイスを定義し、実装する必要がある 2 つのメソッド、eat()
と run()
を指定します。
例:
interface IAnimal{ public function eat(); public function run(); }
上記のコード スニペットでは、
IAnimal インターフェイスを実装する Dog
クラスを定義し、それを次のように実装しました。インターフェイスで定義されている 2 つのメソッド - eat()
と run()
。
抽象クラス インターフェイスは継承によって実装されますが、通常のインターフェイスはインターフェイスに定義されているすべてのメソッドを実装することによって実装されます。
#抽象クラスと通常のクラスの違い
設計セマンティクスの違い
以上がPHPクラスのインターフェースメソッドの違いについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。