インターフェイスとは何ですか?
インターフェイスはメソッドの抽象化です。異なるクラスが同じメソッドを持つ場合は、インターフェイスの使用を検討する必要があります。
(1) インターフェースは動作仕様およびプロトコルです。実際には、これはクラス間の合意と制約です。 (2) C# は多重継承をサポートしていませんが、この機能は実装のためにインターフェイスに任せられています。
(3) クラス間でシステムリソースの呼び出し方法が異なるため、クラス間の通信が困難になりますが、インターフェースを使用することでクラス間の違いをシールドし、スムーズな通信を可能にします。
position) を使用してみてください。 3) テンプレートメソッドを使用します
4.継承と再利用はどのような場合に使用する必要がありますか? 1) サブクラスはスーパークラスの役割ではなく、スーパークラスの特別なカテゴリです。つまり、「is-a」と「has-a」という 2 つの関係を区別する必要があります。 2) サブクラスを別のサブクラスに置き換える必要がある状況は決してありません。設計者が、あるクラスが将来別のクラスのサブクラスにならないかどうか確信が持てない場合は、そのクラスをスーパークラスのサブクラスになるように設計すべきではありません。 3) サブクラスはスーパークラスを拡張する責任がありますが、スーパークラスを置き換える (オーバーライド) またはキャンセルする (無効にする) ことはできません。 4) 継承は、ツール クラスの継承ではなく、分類法で意味がある場合にのみ使用できます。 抽象メソッドは実装する必要があるメソッドです。そして抽象クラスのみで。 インターフェースと抽象クラス クラスは複数のインターフェースを継承できます。 。 。クラスは 1 つの抽象クラスのみを継承できます。 。 。
動物には呼吸法が必要です。どのように呼吸するかはサブクラスの問題です。
Event のアダプターは優れたアプリケーションです。 教師などの簡単な例を使用します。年齢、教育レベル、教師番号などの独自の属性を持つ抽象クラスとして扱います。また、教師も多くの種類に分類されるため、教師クラスを継承できます。固有のカテゴリ属性を拡張し、ユニバーサル属性は直接継承されています。 インターフェースについて〜教師を例に挙げてみましょう。教師には一般の人と同じようにさまざまな行動があるほか、テスト問題の添削や講義などのキャリア関連の行動もあります。本体のないメソッドとしての動作は、コレクションとしてはインターフェイスです。 Zhang San 先生と Li Si 先生は異なる行動特性を持っているため、行動体を拡張できます。この意味で、インターフェイスは動作に焦点を当てます。 つまり、プロパティの継承を意図的に表現する必要がない場合、多くの場合、インターフェイスは実際に抽象クラスを置き換えることができます。
インターフェースは、特定のサービスを実装するための一般的な仕様を定義し、必要な関数と定数を宣言しますが、実装方法は指定しません。実装の詳細が示されていない理由は、エンティティが異なればパブリック メソッド定義を異なる方法で実装する必要がある可能性があるためです。重要なのは、実装する必要がある一連の一般原則を確立することです。これらの原則が満たされた場合にのみ、インターフェイスが実装されていると言えます。
クラスメンバーがインターフェースで定義されていません!クラス メンバーの定義は完全に実装クラスに任されます。
より多くのインターフェースを継承する
<span style="color:#000000"><span style="color:#0000bb"></span></span>
<?php interface a{ public function foo (); } interface b{ public function bar (); } //一个接口类可以继承多个接口 interface c extends a , b{ public function baz (); } class d implements c { public function foo (){ } public function bar (){ } public function baz (){ } } ?>
PHPでは、1つのクラスが複数のインターフェースを実装できるだけでなく、クラスを継承しながら複数のインターフェースを実装することもできます。まずクラスを継承してからインターフェースを実装する必要があります
以上がPHPオブジェクト指向(インターフェース)の基本概念と抽象クラス例の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。