Comment accéder aux variables de classe parent dans les classes enfants en PHP

Mary-Kate Olsen
Libérer: 2024-10-22 21:31:30
original
270 Les gens l'ont consulté

How to Access Parent Class Variables in Child Classes in PHP

Accès aux variables de la classe parent en PHP

Lorsque vous travaillez avec l'héritage, il devient nécessaire d'accéder aux variables de la classe parent. Dans l'exemple fourni, la classe B étend la classe A et tente de faire écho à la variable $bb, qui est définie comme protégée dans la classe parent. Cependant, une erreur est générée, indiquant que $bb est une constante de classe non définie.

Pour afficher la variable parent dans la classe enfant, utilisez la syntaxe suivante :

<code class="php">echo $this->bb;</code>
Copier après la connexion

Contrairement aux variables privées , inaccessibles en dehors de la classe, les variables protégées sont accessibles au sein des classes enfants. Par conséquent, $bb est directement accessible via le mot-clé $this dans la classe enfant. Le résultat attendu de 'parent bb' sera imprimé comme prévu.

Informations supplémentaires : Utilisation de parent::

La syntaxe parent:: est utilisée quand vous le souhaitez pour étendre les fonctionnalités d'une méthode à partir de la classe parent. Contrairement à l'exemple fourni dans la question, où la classe enfant accède simplement à une variable parent, parent:: vous permet de modifier ou d'améliorer le comportement d'une méthode héritée.

Par exemple, si la classe parent Airplane a un variable privée $pilot et un constructeur qui assigne un pilote à la variable $pilot :

<code class="php">class Airplane {
    private $pilot;

    public function __construct($pilot) {
        $this->pilot = $pilot;
    }
}</code>
Copier après la connexion

Et vous souhaitez créer une classe Bomber qui étend Airplane et ajoute une variable de navigateur et un constructeur étendu :

<code class="php">class Bomber extends Airplane {
    private $navigator;

    public function __construct($pilot, $navigator) {
        $this->navigator = $navigator;

        parent::__construct($pilot); // Assigns $pilot to $this->pilot
    }
}</code>
Copier après la connexion

En utilisant parent::__construct($pilot), vous pouvez appeler le constructeur de la classe parent à partir de la classe enfant, en attribuant l'argument pilote à la variable $pilot dans la classe enfant tout en ajoutant la fonctionnalité du navigateur. Cela vous permet de réutiliser le code existant de la classe parent et de le personnaliser dans la classe enfant, en adhérant au principe DRY (Don't Repeat Yourself).

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!