インターフェースと抽象クラス: どちらを使うべきか? 質問する

インターフェースと抽象クラス: どちらを使うべきか? 質問する

PHP を使用する場合と?interfaceを使用する場合について説明してください。abstract class

abstract classを に変更するにはどうすればよいですかinterface?

ベストアンサー1

システムで作業する開発者 (自分自身も含む) に、構築するクラスに一定数のメソッドを実装するように強制する場合は、インターフェースを使用します。

システムで作業する開発者 (自分自身を含む) に一定数のメソッドを実装するように強制し子クラスの開発に役立つ基本メソッドをいくつか提供したい場合は、抽象クラスを使用します。

覚えておくべきもう 1 つの点は、クライアント クラスは複数のインターフェイスを実装できるのに対し、抽象クラスは 1 つしか拡張できないということです。したがって、抽象クラスで動作コントラクトを定義する場合、各子クラスは 1 つのコントラクトにのみ準拠することになります。ユーザー プログラマーに特定のパスを強制したい場合、これは良いことです。しかし、そうでない場合には、これは良くありません。PHP の Countable および Iterator インターフェイスがインターフェイスではなく抽象クラスだったらどうなるか想像してみてください。

どちらの方向に進むべきか分からないときによくあるアプローチの1つは(クレタス下) は、インターフェースを作成し、抽象クラスにそのインターフェースを実装させることです。

おすすめ記事