Maison >développement back-end >Problème PHP >Une classe PHP peut-elle implémenter plusieurs interfaces ?
Comme la plupart des langages de programmation orientés objet, l'héritage multiple n'est pas pris en charge en PHP. Si vous souhaitez implémenter plusieurs fonctionnalités d'héritage, vous pouvez utiliser des interfaces.
L'idée de l'interface est la suivante :
Spécifie une série de fonctions qu'une classe qui implémente l'interface doit implémenter. Généralement, nous utilisons interface pour déclarer une interface et déclarer certaines méthodes (c'est-à-dire des fonctions) dans l'interface. Notez que nous déclarons uniquement que nous n'avons pas besoin d'implémenter cette fonction. Ensuite, utilisez class pour déclarer une classe et implémente pour utiliser l'interface, puis implémentez les méthodes déclarées dans l'interface dans la classe.
La méthode de définition générale est la suivante :
Définition de l'interface :
[修饰符] interface 接口名 [extends 父接口名列表]{ [public] [static] [final] 常量; [public] [abstract] 方法; }
Modificateur : Facultatif , utilisé pour spécifier l'autorisation d'accès à l'interface, la valeur facultative est publique. En cas d'omission, les autorisations d'accès par défaut sont utilisées.
Nom de l'interface : Paramètre obligatoire, utilisé pour spécifier le nom de l'interface. Le nom de l'interface doit être un identifiant Java légal. Généralement, les majuscules sont requises.
étend la liste des noms d'interface parent : paramètre facultatif, utilisé pour spécifier de quelle interface parent hérite l'interface à définir. Lors de l'utilisation du mot-clé extends, le nom de l'interface parent est un paramètre obligatoire.
Méthodes : Les méthodes de l'interface sont uniquement définies mais non implémentées.
Instance :
接口定义: public interface CalInterface { final float PI=3.14159f;//定义用于表示圆周率的常量PI float getArea(float r);//定义一个用于计算面积的方法getArea() float getCircumference(float r);//定义一个用于计算周长的方法getCircumference() } 接口实现: public class Cire implements CalInterface { public float getArea(float r) { float area=PI*r*r;//计算圆面积并赋值给变量area return area;//返回计算后的圆面积 } public float getCircumference(float r) { float circumference=2*PI*r; //计算圆周长并赋值给变量circumference return circumference; //返回计算后的圆周长 } public static void main(String[] args) { Cire c = new Cire(); float f = c.getArea(2.0f); System.out.println(Float.toString(f)); } }
Notez que si la méthode spécifiée dans l'interface n'est pas implémentée, une erreur fatale sera générée.
Tutoriel vidéo PHP 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!