Maison > Article > développement back-end > Explication détaillée des exemples graphiques et textuels de la méthode destructeur dans la méthode de construction PHP
Cet article présente principalement en détail les performances de la méthode destructeur en héritage dans la méthode de construction php Les amis intéressés peuvent se référer à
Cet article partage les performances de. la méthode destructeur du constructeur PHP en héritage pour votre référence. Le contenu spécifique est le suivant
Lorsqu'il n'y a pas de constructeur défini dans la sous-classe, le constructeur de la classe parent sera automatiquement appelé. Par conséquent, lors de l’instanciation d’une sous-classe, vous devez suivre la méthode constructeur de la classe parent.
est modifié par :
Si la sous-classe définit son propre constructeur, celui de la classe parent ne sera pas automatiquement appelé . Constructeur, mais peut être appelé manuellement : parent::construct();
Mais généralement, dans les sous-classes, plusieurs fois, dans le constructeur, vous devriez (besoin) d'appeler le constructeur du parent. class Méthode pour enregistrer le code et augmenter la lisibilité :
Lorsqu'aucune méthode destructeur n'est définie dans la sous-classe, la méthode destructeur de la classe parent sera automatiquement appelée. Si une sous-classe définit sa propre méthode destructrice, la méthode destructrice de la classe parent ne sera pas automatiquement appelée, mais elle peut être appelée manuellement : parent::destruct(). Override
Le remplacement est également appelé écrasement, ce qui signifie redéfinir les propriétés ou les méthodes héritées de la classe parent, c'est-à-dire les écrire à partir de zéro.
Mais attention : la sous-classe remplace la méthode de la classe parent Bien que vous puissiez appeler la méthode du même nom de la classe parent pour effectuer certains travaux, ce n'est pas le cas. nécessaire. Il est également possible que le résultat de l'exécution de la méthode de la classe parent ne soit pas adapté à la sous-classe, et dans ce cas la sous-classe l'écrira entièrement elle-même.
Exigences de base pour la réécriture :
Contrôle d'accès Autorisations : Les autorisations de contrôle d'accès des subordonnés ne doivent pas être inférieures à celles des supérieurs : Supérieur : public Subordonné : uniquement supérieur public : protégé subordonné : protégé, public supérieur : privé subordonné : privé protégé public - en fait cette situation n'a aucun sens. Les fichiers privés ne peuvent pas être écrasés, mais traités comme entièrement nouveaux.
La forme des paramètres de la méthode : doit être cohérente avec la classe parent.
Problème de réécriture des propriétés privées et des méthodes privées : les propriétés et méthodes privées ne peuvent pas être remplacées, mais en fait Les sous-classes peuvent définir des propriétés ou des méthodes portant le même nom et privées pour la classe parent. Traitez-le simplement comme un nouvel attribut ou une nouvelle méthode à part entière. Cependant, les paramètres des méthodes doivent être cohérents. Problème de réécriture de la méthode constructeur : non seulement la méthode constructeur peut être réécrite comme les autres méthodes ordinaires, mais elle est également plus détendue que les méthodes ordinaires : les paramètres peuvent être incohérents lors du remplacement.
Cours final cours final :
Habituellement, si un cours n'est pas spécifiquement déclaré, les "autres" peuvent le suivre à volonté Venez l'utiliser et "l'étendre" - hériter.
Cependant :
Si un cours ne souhaite pas être prolongé, il peut être déclaré « cours final ».
Formulaire :
nom de la classe finale {. . . . Définition de classe. . . . >
Méthode finaleMéthode finale
Habituellement, si une méthode n'est pas spécifiquement déclarée, les classes subordonnées peuvent la "remplacer" (réécrite).
Cependant :
Si une méthode ne veut pas être remplacée par des classes subordonnées, elle peut être désignée comme "méthode finale".
Formulaire :
nom de la méthode de fonction finale (){. . . . Définition de la méthode. . . . >
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!