Maison >développement back-end >Problème PHP >Comment utiliser l'héritage multiple en PHP
Je me souviens qu'il y avait une question d'entretien demandant si PHP prend en charge l'héritage multiple ?
Réponse : Non, seul l'héritage unique est pris en charge.
Comment mettre en œuvre l'héritage multiple ?
Réponse : Il peut être implémenté à l'aide d'une interface ou d'un trait. (Apprentissage recommandé : Programmation PHP du débutant à compétent)
Pourquoi pensez-vous à ce problème Parce que si une classe hérite de plusieurs interfaces, alors elles auront les mêmes attributs et méthodes. les méthodes ou les propriétés sont référencées, et qui sera remplacé ?
Résumé :
1. Utilisez l'interface pour déclarer que la classe ne peut pas être instanciée, que les attributs doivent être des constantes et que la méthode ne peut pas avoir de corps de méthode
2. La classe déclarée par le trait ne peut pas être instanciée par utilisation et écrasera les mêmes attributs et méthodes de la classe parente. S'il y a plusieurs utilisations, les suivantes écraseront les mêmes attributs et méthodes. en haut dans l'ordreQuelle est l'interface ?
Qu'est-ce qu'un trait ?
Priorité
Les membres hérités de la classe de base sont remplacés par les membres insérés par le trait. L'ordre de priorité est que les membres de la classe actuelle remplacent les méthodes du trait et que le trait remplace les méthodes héritées.class Base { public function sayHello() { echo 'Hello '; } } trait SayWorld { public function sayHello() { parent::sayHello(); echo 'World!'; } } class MyHelloWorld extends Base { use SayWorld; } $o = new MyHelloWorld(); $o->sayHello();Répertoriez plusieurs traits dans l'instruction use séparés par des virgules, et ils peuvent tous être insérés dans une classe.
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!