2

私は抽象インターフェースの違いを研究しており、いくつかの文を読んでいます

子クラスは単一の抽象クラス (またはその他のクラス) のみを拡張できますが、インターフェイスは拡張したり、クラスは他の複数のインターフェイスを実装したりできます。

彼が「子クラスは単一の抽象クラス (またはその他のクラス) しか拡張できない」と言っているのは理解できます。

class first
{
    public function Search()
    {
        return 'Hellow';
    }
}

abstract class first2 extends first
{

}

class second extends first2
{   

}

$ob = new second();
echo $ob->Search();

しかし、彼が言っている「インターフェイスは拡張できる、またはクラスは他の複数のインターフェイスを実装できる」という残りの文は理解できませんでした。

誰かが彼の最後の文を説明し、コード例を追加してもらえますか? 良い一日をお過ごしください。

4

1 に答える 1

5

複数のインターフェースを実装できます

interface C {
  public function method1();
}

interface D {
  public function method2();
}

class A implements C,D {

   //implement from interface C
   public function method1() {

   }
   //implement from interface D
   public function method2() {

   }
}

ここでは、インターフェイスCおよびDからメソッドを実装する必要があります。通常のクラスのように、インターフェイス内でインターフェイスを拡張することもできます。

interface D extends C{}

いくつかの一般的な方法が必要な場合に便利です。したがって、基本クラスに実装することを期待しているメソッドをインターフェースに「スキーマ」と記述します。

抽象は単一の拡張クラスですが、そのためのインスタンスを作成することはできず、拡張するだけです。後で実装する必要がある共通の機能または抽象メソッドを備えた基本クラスが必要な場合に便利です。

もっとあなたはいつでもphp.netで読むことができます-インターフェース

于 2012-05-26T07:58:18.483 に答える