Cara Mengakses Pembolehubah Kelas Induk dalam PHP

Mary-Kate Olsen
Lepaskan: 2024-10-22 23:48:28
asal
911 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!