Rumah > pembangunan bahagian belakang > tutorial php > Mengakses Pembolehubah Kelas Induk Dilindungi dalam PHP: Mengapa Gunakan `$this->bb` Daripada `parent::bb`?

Mengakses Pembolehubah Kelas Induk Dilindungi dalam PHP: Mengapa Gunakan `$this->bb` Daripada `parent::bb`?

Mary-Kate Olsen
Lepaskan: 2024-10-22 21:20:29
asal
429 orang telah melayarinya

Accessing Protected Parent Class Variables in PHP: Why Use `$this->bb` Atas `parent::bb`?bb` Over `parent::bb`?" />

Mengakses Pembolehubah Kelas Induk dalam PHP

Kod yang disediakan menunjukkan isu di mana kelas anak tidak dapat mengakses pembolehubah dilindungi $bb yang diwarisi daripada kelas induknya . Untuk menyelesaikan masalah ini, pembolehubah boleh diakses menggunakan sintaks $this->bb.

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

    function __construct($arg) {
       //do something..
    }

    private function parentmethod($arg2) {
       //do something..
    }
}

class B extends A {
    function __construct($arg) {
        parent::__construct($arg);
    }
    function childfunction() {
        echo $this->bb; // Outputs 'parent bb'
    }
}

$test = new B($some);
$test->childfunction();</code>
Salin selepas log masuk

Menggunakan $this->bb membayangkan bahawa pembolehubah yang diwarisi kini merupakan sebahagian daripada objek semasa dan boleh diakses seperti mana-mana pembolehubah contoh lain.

Nota Tambahan:

Semasa menggunakan $this->bb menyelesaikan isu segera, adalah penting untuk memahami perbezaan antara $this -> dan induk:: apabila mengakses pembolehubah dan kaedah yang diwarisi.

$this-> merujuk kepada objek semasa, manakala induk:: merujuk kepada kelas induk. $ini-> boleh digunakan untuk mengakses pembolehubah yang diwarisi secara langsung, manakala induk:: digunakan untuk memanggil kaedah kelas induk atau mengakses pembolehubah statik kelas induk.

Sebagai contoh, jika anda ingin mengatasi kaedah kelas induk semasa masih mengakses yang asal kaedah daripada kelas induk, anda boleh menggunakan sintaks berikut:

<code class="php">class Child extends Parent {
    function myMethod() {
        parent::myMethod(); // Calls the parent class's myMethod()
    }
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Mengakses Pembolehubah Kelas Induk Dilindungi dalam PHP: Mengapa Gunakan `$this->bb` Daripada `parent::bb`?. 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