Maison  >  Article  >  développement back-end  >  Héritage multiple orienté objet PHP et utilisation de l'interface

Héritage multiple orienté objet PHP et utilisation de l'interface

巴扎黑
巴扎黑original
2017-04-12 17:50:183171parcourir

Avant de présenter l'interface, nous devons savoir pourquoi nous devons utiliser l'interface. Ici, nous allons vous la présenter.

Alors pourquoi utiliser des interfaces ?

Parmi les langages informatiques, seuls quelques langages orientés objet prennent en charge l'héritage multiple. Le langage PHP que nous apprenons, comme la plupart des langages, ne prend pas en charge l'héritage multiple. Pour parler franchement, une classe parent peut avoir plusieurs sous-classes, mais une sous-classe ne peut avoir qu’une seule classe parent.

Qu'est-ce que l'héritage multiple ?

L'héritage multiple est une sous-classe qui hérite de deux ou plusieurs classes parentes. Il s'agit d'un héritage multiple, qui n'est pas autorisé en PHP. Si nous voulons implémenter l’héritage multiple en PHP, nous devons alors utiliser des interfaces. Les interfaces peuvent être considérées comme une solution à l'héritage multiple. L'interface orientée objet de PHP est similaire aux autres interfaces de langage orientées objet.

Introduction à la syntaxe des classes d'interface :

Les classes d'interface sont déclarées via le mot-clé interface, et la classe ne peut contenir que des méthodes non implémentées et certaines variables membres, au format comme suit :

interface InterfaceName{
function interfaceName1(){
}
function interfaceName2(){
}
}

Remarque :

N'utilisez pas de mots-clés autres que public pour modifier les membres de la classe dans l'interface. Pour les méthodes, il est normal de ne pas écrire de mots-clés. Ceci est déterminé par les propriétés de la classe d'interface elle-même.

Introduction à la syntaxe des sous-classes :

Les sous-classes implémentent des interfaces via le mot-clé Implements Si vous souhaitez implémenter plusieurs interfaces, alors il devrait y avoir Séparer par des virgules. Et toutes les méthodes non implémentées dans la classe d'interface doivent être implémentées dans la sous-classe, sinon une erreur fatale se produira.

Format de définition de sous-classe :

class SubClass implements InterfaceName1, InterfaceName2{
function InterfaceName1(){
}
function InterfaceName2(){
}
}

À propos des instances de classe d'interface :

<?php
header("content-type:text/html;charset=utf-8");
interface A{                                //创建接口
function a();
}
interface B{
function b();
}
class Php implements A{
function a()
{
echo &#39;php中文网&#39;;
}
}
class Html implements A , B{
function a()
{
echo &#39;PHP中文网是免费网站&#39;;
}
function b()
{
echo &#39;PHP中文网网址是www.php.cn&#39;;
}
}
$php = new Php();
$html = new html();
$php ->a();
echo &#39;<br/>&#39;;
$html ->a();
$html ->b();

Toutes les méthodes non implémentées de la classe d'interface doivent être Toutes sont implémentés dans des sous-classes, sinon une erreur fatale se produira. Vous pouvez essayer d'implémenter vous-même certaines classes de l'interface pour voir si des erreurs fatales se produiront.

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