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