Maison  >  Article  >  développement back-end  >  Comment implémenter l'héritage multiple à l'aide d'interfaces en PHP ? (exemple de code)

Comment implémenter l'héritage multiple à l'aide d'interfaces en PHP ? (exemple de code)

青灯夜游
青灯夜游original
2019-02-22 10:10:573603parcourir

L'héritage multiple est une propriété des langages de programmation orientés objet dans lesquels une sous-classe peut hériter des propriétés de plusieurs classes parentes ou super-classes. Alors comment implémenter l’héritage multiple en PHP ? L'article suivant vous présentera comment utiliser les interfaces pour implémenter l'héritage multiple. J'espère qu'il vous sera utile.

Comment implémenter l'héritage multiple à l'aide d'interfaces en PHP ? (exemple de code)

PHP ne prend pas en charge l'héritage multiple, une seule classe est héritée à la fois. Cependant, nous pouvons réaliser un héritage multiple en utilisant les attributs Interface ou Trait en PHP.

Présentons comment utiliser l'interface (Interface) pour implémenter l'héritage multiple en PHP. [Recommandation tutoriel vidéo : Tutoriel PHP]

En PHP, le bloc interface déclare un ensemble de fonctions définies par une classe pour implémenter cette interface. Une classe peut étendre plusieurs interfaces, nous pouvons donc simuler plusieurs héritages en PHP.

1. Utiliser des classes et des interfaces pour implémenter l'héritage multiple

Syntaxe :

class child_class_name extends parent_class_name implements interface_name1, ...

Exemple :

<?php 
header("content-type:text/html;charset=utf-8");   
class A { 
   public function insideA() { 
    echo "我在类A中"; 
     } 
} 
  
interface B { 
   public function insideB(); 
} 
  
class Multiple extends A implements B { 
  
    function insideB() { 
        echo "<br><br>我在接口中"; 
    } 
  
    public function insidemultiple() { 
    echo "<br><br>我在继承类中"; 
    } 
} 
  
$phpzww = new multiple(); 
$phpzww->insideA(); 
$phpzww->insideB(); 
$phpzww->insidemultiple(); 
?>

Sortie :

Comment implémenter lhéritage multiple à laide dinterfaces en PHP ? (exemple de code)

Description du code : L'interface "B" est utilisée avec la classe "A" pour implémenter l'héritage multiple. La chose importante à retenir est qu'il ne peut pas définir de fonction à l'intérieur de l'interface, elle doit être définie dans la sous-classe "Multiple". Nous appelons toutes les fonctions en utilisant un objet de sous-classe (Multiple) nommé "phpzww".

2. Utiliser plusieurs interfaces pour implémenter l'héritage multiple

Syntaxe :

class child_class_name implements interface_name1, interface_name2, ...

Exemple :

<?php 
header("content-type:text/html;charset=utf-8"); 
interface C { 
   public function insideC(); 
} 
  
interface B { 
   public function insideB(); 
} 
  
class Multiple implements B, C { 
  
    // 接口B的功能
    function insideB() { 
        echo "<br><br>我在接口B中"; 
    } 
  
    // 接口C的功能
    function insideC() { 
        echo "<br><br>我在接口C中"; 
    } 
  
    public function insidemultiple() 
    { 
        echo "<br><br>我在接口类中"; 
    } 
} 
  
$phpzww = new multiple(); 
$phpzww->insideC(); 
$phpzww->insideB(); 
$phpzww->insidemultiple(); 
?>

Sortie :

Comment implémenter lhéritage multiple à laide dinterfaces en PHP ? (exemple de code)

Description du code : Dans l'exemple de code ci-dessus, il y a deux interfaces nommées "B" et "C" qui jouent le rôle de base. rôle de la classe, et ayant une sous-classe appelée "Multiple", nous utilisons un objet appelé "phpzww" pour appeler toutes les fonctions.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

Articles connexes recommandés :

Comment PHP utilise-t-il la fonctionnalité Trait pour implémenter l'héritage multiple ? (exemple de code)

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn