ホームページ >バックエンド開発 >PHPチュートリアル >PHP インターフェースの多重継承と多重継承効果を達成するための tarits メソッドのチュートリアルの詳細

PHP インターフェースの多重継承と多重継承効果を達成するための tarits メソッドのチュートリアルの詳細

jacklove
jackloveオリジナル
2018-05-22 17:30:111588ブラウズ

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

インターフェイスの多重継承

PHP のオブジェクト指向インターフェイスでは、インターフェイスはインターフェイスを継承できます。 PHP クラスは 1 つの親クラスからのみ継承できますが (単一継承)、インターフェイスは多重継承を実装でき、1 つ以上のインターフェイスを継承できます。もちろん、インターフェイスの継承では、クラスの継承と同じように extends キーワードを使用します。複数の継承が必要な場合は、継承されたインターフェイスをカンマで区切るだけです。

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

以下は例です:

1. 単一インターフェースの継承

i

nterface testA{ 
function echostr(); 
}
interface testB extends testA{ 
function dancing($name); 
} 
class testC implements testB{ 
function echostr(){ 
echo "接口继承,要实现所有相关抽象方法!";
echo "
"; 
}
function dancing($name){
echo $name."正在跳舞!"; 
} 
}
$demo=new testC();
 
$demo->echostr();
 
$demo->dancing("模特");
 
//运行结果
 
/**
   
接口继承,要实现所有相关抽象方法
模特正在跳舞!
**/

2. 複数のインターフェースの継承

interface testA{
 
function echostr();
 
}
 
interface testB{
 
function dancing($name);
 
}
 
interface testC extends testA,testB{
 
function singing($nickname);
 
}
 
class testD implements testC{
 
function echostr(){
 
echo "接口继承,要实现父接口所有相关方法!";
 
echo "
";
 
}
 
function dancing($name){
 
echo $name."正在跳舞!";
 
echo "
";
 
}
 
function singing($nickname){
 
echo $nickname."正在唱歌!";
 
}
 
}
 
$demo=new testD();
 
$demo->echostr();
 
$demo->dancing("模特");
 
$demo->singing("周杰伦");
 
//运行结果
 
/**
 
接口继承,要实现父接口所有相关方法!
 
模特正在跳舞!
 
周杰伦正在唱歌!
 
**/

tarits多重継承では、クラスは同時に複数の親クラスを継承できます。 C++ の親クラスの関数は統合の柔軟性を高めるためにこのモデルを使用していますが、多重継承は柔軟性が高すぎて「ダイヤモンド継承」を招くため、使用するには困難が多く、モデルとなっています。現在では、ほとんどの言語が多重継承モデルを放棄しています。

でも、時々多重継承を使いたいことがありますが、PHPには多重継承がないので、このようなものを発明しました。

トレイトは、さまざまなクラスから呼び出すことができるメソッドのセットとして理解できますが、トレイトはクラスではなく、インスタンス化することはできません。例を使用して構文を見てみましょう:

trait myTrait{
 
function traitMethod1(){}
 
function traitMethod2(){}
 
}
 
//然后是调用这个traits,语法为:
 
class myClass{
 
use myTrait;
 
}
 
//这样就可以通过use myTraits,调用Traits中的方法了,比如:
 
$obj = new myClass();
 
$obj-> traitMethod1 ();
 
$obj-> traitMethod2 (); 
>

この記事の例では、多重継承の効果を実現するための PHP インターフェースとタリットの多重継承の方法について説明します。 PHPの中国語サイトです。

関連する推奨事項:

PHP 文字列反転インタビューでよく遭遇する質問


PHP は文字ストリーム内の最初の非反復文字をどのように取得しますか


PHP は 1 行のコードを使用してすべてのファイルを削除しますディレクトリ内のファイルメソッド

以上がPHP インターフェースの多重継承と多重継承効果を達成するための tarits メソッドのチュートリアルの詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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