ホームページ  >  記事  >  バックエンド開発  >  PHP でインターフェイスの継承とインターフェイスの多重継承の原則を実装する方法

PHP でインターフェイスの継承とインターフェイスの多重継承の原則を実装する方法

黄舟
黄舟オリジナル
2017-10-19 09:21:002119ブラウズ

この記事では、主に PHP インターフェイスの継承とインターフェイスの多重継承の原理と実装方法を紹介します。インターフェイスの継承と多重インターフェイスの継承の概念と原理を簡単に説明し、PHP インターフェイスの継承の具体的な実装と使用方法を説明します。必要な友人はそれを参照してください

この記事では、PHP インターフェイスの継承とインターフェイスの多重継承の原理と実装方法を例とともに説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

PHP インターフェースでは、インターフェースはインターフェースを継承できます。 PHP クラスは 1 つの親クラスからのみ継承できますが (単一継承)、インターフェイスはクラスとは異なり、複数の継承を実装でき、1 つ以上のインターフェイスを継承できます。もちろん、インターフェイスの継承でも extends キーワードを使用します。複数の継承が必要な場合は、継承されたインターフェイスをカンマで区切ります。

インターフェースが他のインターフェースを継承する場合、親インターフェースの静的定数属性と抽象メソッドを直接継承するため、クラスはインターフェースの実装時に関連するすべての抽象メソッドを実装する必要があることに注意してください。

これで、PHP インターフェースの継承についてある程度理解できました。次のコードは次のとおりです。


<?php
interface father{
  function shuchu();
}
interface fam extends father{
  function cook($name);
}
class test implements fam{
  function shuchu(){
    echo "接口继承,要实现两个抽象方法";
    echo "<br>";
  }
  function cook($name){
    echo "平时经常做饭的人是:".$name;
  }
}
$t=new test();
$t->shuchu();
$t->cook("妈妈");
?>

コードの実行結果は次のとおりです。上の例では、インターフェイスはインターフェイスを継承するため、テスト クラスが fam インターフェイスを実装する場合、2 つの抽象メソッドをインスタンス化する必要があります。つまり、インターフェイスのサブクラスと親クラスの両方の抽象メソッドをインスタンス化する必要があります。

インターフェイスの多重継承の例を見てみましょう。コードは次のとおりです:

接口继承,要实现两个抽象方法
平时经常做饭的人是:妈妈

実行結果の例:


<?php
interface father{
  function shuchu();
}
interface mother{
  function dayin($my);
}
interface fam extends father,mother{
  function cook($name);
}
class test implements fam{
  function dayin($my){
    echo "我的名字是:".$my;
    echo "<br>";
  }
  function shuchu(){
    echo "接口继承,要实现两个抽象方法";
    echo "<br>";
  }
  function cook($name){
    echo "平时经常做饭的人是:".$name;
  }
}
$t=new test();
$t->shuchu();
$t->dayin("小强");
$t->cook("妈妈");
?>

インターフェイスは 2 つのインターフェイスを継承するため、このコードではすべてのインスタンスにこれら 3 つが必要です。抽象クラスの抽象メソッドはインスタンスで、全部で3つあります。これら 2 つの例を読めば、関連するすべての抽象メソッドが実装されている限り、インターフェイスの継承について理解できるはずです。

以上がPHP でインターフェイスの継承とインターフェイスの多重継承の原則を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。