PHP ne prend pas en charge l'héritage multiple, alors comment implémenter l'héritage multiple ?
peut être implémenté à l'aide d'une interface ou d'un trait
Interface Nous n'expliquerons pas trop ici. Le principe est qu'une classe peut implémenter plusieurs interfaces. Le code suivant peut illustrer cela.
interface test1{ public function connect(); } interface test2{ public function contact(); } // 类可以同时实现多个接口 class myCode implements test1,test2{ public function connect(){ echo "test1!"; } public function contact(){ echo "test2!": } }
Concentrons-nous sur l'implémentation des traits de l'héritage multiple (en fait, cela ne s'appelle pas l'héritage multiple, cela devrait être appelé une fonction similaire à l'héritage multiple)
Alors, qu'est-ce qu'un trait ?
Réponse : Cela ressemble à la fois à une classe et à une interface, mais ce n'est en réalité ni l'une ni l'autre. Trait peut être considéré comme une implémentation partielle d'une classe et peut être mélangé dans une ou plusieurs classes PHP existantes. pour indiquer ce que la classe peut faire ; pour fournir une implémentation modulaire. Trait est une technologie de réutilisation de code qui fournit un mécanisme flexible de réutilisation de code pour la restriction d'héritage unique de PHP.
Alors, comment implémenter le trait ? Regardez le code suivant :
//基本类 class basicTest{ public function test(){ echo "hello,world\n"; } } //traitOne trait traitOne{ public function test(){ echo "this is trait one"; } public function testOne(){ echo "one<br />"; } } //traitTwo trait traitTwo{ // public function test(){ // echo "this is trait two!"; // } public function testTwo(){ echo "Two<br />"; } } //继承基本类,并use trait class myCode extends basicTest{ use traitOne,traitTwo; public function test(){ echo "hehaha!!<br />"; } } $obj = new myCode(); $obj->testTwo();
Remarque :
Priorité : méthode propre>méthode trait>méthode héritée (voilà à quoi cela ressemble.)
Si nous ouvrez les commentaires dans le code ci-dessus, une erreur sera signalée car les méthodes des deux traits ont le même nom.
Tutoriel recommandé : Tutoriel vidéo PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!