Maison  >  Article  >  développement back-end  >  Explication graphique détaillée des performances de la méthode destructeur en héritage dans la méthode de construction PHP

Explication graphique détaillée des performances de la méthode destructeur en héritage dans la méthode de construction PHP

墨辰丷
墨辰丷original
2018-06-04 09:12:001519parcourir

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 à

Quand aucune méthode de construction n'est définie dans la sous-classe, que se passe-t-il automatiquement ? appelez le constructeur de la classe parent. 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, elle ne sera pas appelée automatiquement Le constructeur de la classe parent, mais peut être appelé manuellement : parent::__construct();

Mais généralement, dans les sous-classes, plusieurs fois, dans le constructeur, le parent devrait (doit) être appelée Méthode de construction de classe pour enregistrer le code et augmenter la lisibilité :

Lorsqu'aucune méthode destructrice n'est définie dans la sous-classe, la méthode destructrice 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 appelée automatiquement, 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 :

Autorisations de contrôle d'accès : 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és : uniquement public Supérieur : protégé Subordonnés : protégés, 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.

Le problème de la substitution des propriétés et 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 les identique à la classe parent. Une propriété ou une méthode privée de classe portant le même nom. 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 finale méthode finale

Habituellement, si une méthode n'est pas spécifiquement déclarée, les classes subordonnées peuvent la "remplacer" (remplacer).

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. . . . >

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Un résumé des différentes méthodes de définition des variables en php

PHP traversal Méthodes courantes pour les fichiers de répertoire

Résumé des méthodes d'obtention de chemins et de répertoires en 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!

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