Une sous-classe peut appeler un constructeur défini par sa superclasse en utilisant la forme super(parameter-list);.
parameter-list doit spécifier les paramètres nécessaires au constructeur de la superclasse.
La première instruction exécutée au sein du constructeur d'une sous-classe doit toujours être super(); (ou super(parameter-list); s'il est nécessaire de passer des paramètres).
Ce qui suit est une version de TwoDShape avec un constructeur qui initialise la largeur et la hauteur.
La sous-classe Triangle utilise super(w, h) pour appeler le constructeur de la superclasse TwoDShape, en passant les valeurs de w et h.
Le constructeur de TwoDShape initialise la largeur et la hauteur avec ces valeurs.
La sous-classe Triangle n'a pas besoin d'initialiser la largeur et la hauteur, juste la valeur de style, qui lui est exclusive.
L'utilisation de super( ) permet à la superclasse (TwoDShape) de construire son propre sous-objet comme souhaité et d'ajouter des fonctionnalités sans que la sous-classe ait besoin de connaître les détails.
Chaque forme de constructeur définie par la superclasse peut être appelée avec super(). Le constructeur exécuté sera celui dont les arguments correspondent aux paramètres donnés.
L'exemple suivant montre des versions étendues de TwoDShape et Triangle avec des constructeurs par défaut et des constructeurs qui prennent un argument.
Appel au constructeur de superclasse : lorsqu'une sous-classe appelle super( ), elle invoque le constructeur de sa superclasse immédiate.
Référence à la superclasse immédiate : super( ) fait toujours référence à la superclasse immédiatement au-dessus de la classe qui l'appelle, même dans les hiérarchies à plusieurs niveaux.
Première instruction dans le constructeur : super( ) doit être la première instruction exécutée au sein du constructeur d'une sous-classe. Cela garantit que la partie superclasse de l'objet est initialisée avant que le constructeur de sous-classe n'exécute son propre 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!