Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Mengakses Pembolehubah Kelas Induk dalam PHP

Cara Mengakses Pembolehubah Kelas Induk dalam PHP

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-22 23:48:281006semak imbas

How to Access Parent Class Variables in PHP

Akses Pembolehubah Kelas Induk dalam PHP

Dalam pengaturcaraan berorientasikan objek, mengakses pembolehubah kelas induk dalam kelas anak boleh memberikan cabaran. Pertimbangkan kod di bawah:

<code class="php">class A {
    private $aa;
    protected $bb = 'parent bb';

    // ...
}

class B extends A {
    function childfunction() {
        echo parent::$bb; // Fatal error: Undefined class constant 'bb' 
    }
}
</code>

Percubaan untuk mengakses pembolehubah $bb menggunakan induk::$bb mengakibatkan ralat. Ini kerana pembolehubah dilindungi dan pembolehubah yang dilindungi hanya boleh diakses dalam kelas dan kelas anaknya.

Penyelesaian: Menggunakan $this->bb

Untuk akses pembolehubah $bb dalam kelas kanak-kanak dengan betul, gunakan $this->bb. Sintaks ini merujuk kepada pembolehubah contoh objek semasa, yang termasuk pembolehubah yang diwarisi daripada kelas induk.

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

Pembolehubah $bb diwarisi dan bukan peribadi, jadi ia adalah sebahagian daripada objek semasa dan boleh boleh diakses menggunakan kata kunci $this.

Maklumat Tambahan

Untuk situasi di mana anda perlu mengubah suai tingkah laku kaedah daripada kelas induk, gunakan induk::. Sebagai contoh, pertimbangkan perkara berikut:

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

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

class Bomber extends Airplane {
    private $navigator;

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

        parent::__construct( $pilot ); // Assign to this->pilot
    }
}</code>

Di sini, ibu bapa:: memanjangkan pembina daripada kelas Airplane untuk menambah pembolehubah $navigator. Ini membolehkan anda mengikut prinsip KERING sambil menyediakan fungsi yang diingini.

Atas ialah kandungan terperinci Cara Mengakses Pembolehubah Kelas Induk dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn