Comment implémenter l'héritage d'interface et les principes d'héritage multiple d'interface en PHP

黄舟
Libérer: 2023-03-16 17:36:01
original
2117 Les gens l'ont consulté

Cet article présente principalement les principes et les méthodes d'implémentation de l'héritage d'interface PHP et du multi-héritage d'interface. Il décrit brièvement les concepts et principes de l'héritage d'interface et de l'héritage multi-interface, et donne l'implémentation et l'utilisation spécifiques de l'héritage d'interface PHP dans sous forme d'exemples. Pour les compétences opérationnelles, les amis dans le besoin peuvent se référer à

Cet article explique les principes et les méthodes de mise en œuvre de l'héritage d'interface PHP et de l'héritage multiple d'interface avec des exemples. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Dans les interfaces PHP, les interfaces peuvent hériter des interfaces. Bien que les classes PHP ne puissent hériter que d'une seule classe parent (héritage unique), les interfaces sont différentes des classes. Les interfaces peuvent implémenter plusieurs héritages et peuvent hériter d'une ou plusieurs interfaces. Bien entendu, l'héritage des interfaces utilise également le mot-clé extends. Si vous souhaitez plusieurs héritages, séparez simplement les interfaces héritées par des virgules.

Il convient de noter que lorsque votre interface hérite d'autres interfaces, elle hérite directement des attributs constants statiques et des méthodes abstraites de l'interface parent, la classe doit donc implémenter toutes les méthodes abstraites pertinentes lors de l'implémentation de l'interface.

Vous avez maintenant une certaine compréhension de l'héritage des interfaces PHP. L'exemple suivant est pour référence. Le code est le suivant :


<?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("妈妈");
?>
Copier après la connexion

Code. résultats en cours d'exécution Comme suit :


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

L'exemple ci-dessus est que l'interface hérite d'une interface, donc lorsque la classe de test implémente l'interface fam, deux méthodes abstraites doivent être instanciées , c'est-à-dire l'interface Les méthodes abstraites des sous-classes et des classes parentes sont instanciées.

Regardons un exemple d'héritage multiple d'interface. Le code est le suivant :


<?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("妈妈");
?>
Copier après la connexion

Exemple de résultats d'exécution :


接口继承,要实现两个抽象方法
我的名字是:小强
平时经常做饭的人是:妈妈
Copier après la connexion

Étant donné que l'interface hérite de deux interfaces, ce code doit instancier toutes les méthodes abstraites de ces trois classes abstraites lors de leur instanciation. Après avoir lu ces deux exemples, vous devriez être familier avec l'héritage d'interface. En fait, il existe un héritage simple et un héritage multiple, à condition que toutes les méthodes abstraites pertinentes soient implémentées.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal