Heim >Backend-Entwicklung >PHP-Tutorial >So greifen Sie in PHP auf übergeordnete Klassenvariablen in untergeordneten Klassen zu

So greifen Sie in PHP auf übergeordnete Klassenvariablen in untergeordneten Klassen zu

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-22 21:31:30388Durchsuche

How to Access Parent Class Variables in Child Classes in PHP

Zugriff auf Variablen der übergeordneten Klasse in PHP

Beim Arbeiten mit Vererbung ist es notwendig, auf Variablen der übergeordneten Klasse zuzugreifen. Im bereitgestellten Beispiel erweitert Klasse B Klasse A und versucht, die Variable $bb wiederzugeben, die in der übergeordneten Klasse als geschützt definiert ist. Es wird jedoch ein Fehler ausgegeben, der darauf hinweist, dass $bb eine undefinierte Klassenkonstante ist.

Um die übergeordnete Variable in der untergeordneten Klasse anzuzeigen, verwenden Sie die folgende Syntax:

<code class="php">echo $this->bb;</code>

Im Gegensatz zu privaten Variablen , auf die außerhalb der Klasse nicht zugegriffen werden kann, geschützte Variablen sind innerhalb untergeordneter Klassen zugänglich. Daher kann auf $bb direkt über das Schlüsselwort $this innerhalb der untergeordneten Klasse zugegriffen werden. Das erwartete Ergebnis von „parent bb“ wird wie erwartet gedruckt.

Zusätzliche Informationen: Verwendung von parent::

Die parent::-Syntax wird verwendet, wenn Sie möchten um die Funktionalität einer Methode aus der übergeordneten Klasse zu erweitern. Im Gegensatz zu dem in der Frage bereitgestellten Beispiel, bei dem die untergeordnete Klasse lediglich auf eine übergeordnete Variable zugreift, können Sie mit parent:: das Verhalten einer geerbten Methode ändern oder verbessern.

Wenn die übergeordnete Klasse Airplane beispielsweise eine hat private Variable $pilot und einen Konstruktor, der der Variablen $pilot einen Piloten zuweist:

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

    public function __construct($pilot) {
        $this->pilot = $pilot;
    }
}</code>

Und Sie möchten eine Bomber-Klasse erstellen, die Airplane erweitert und eine Navigatorvariable und einen erweiterten Konstruktor hinzufügt:

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

Durch die Verwendung von parent::__construct($pilot) können Sie den Konstruktor der übergeordneten Klasse von der untergeordneten Klasse aus aufrufen, das Pilotargument der Variablen $pilot in der untergeordneten Klasse zuweisen und gleichzeitig die Navigatorfunktionalität hinzufügen. Dadurch können Sie vorhandenen Code aus der übergeordneten Klasse wiederverwenden und ihn in der untergeordneten Klasse anpassen und dabei das DRY-Prinzip (Don't Repeat Yourself) einhalten.

Das obige ist der detaillierte Inhalt vonSo greifen Sie in PHP auf übergeordnete Klassenvariablen in untergeordneten Klassen zu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn