Dalam PHP, objek boleh memanggil kaedah dan kaedahnya sendiri yang diwarisi daripada kelas induk. Dalam sesetengah kes, kita ingin memanggil kaedah kelas induknya dalam kaedah subkelas Dalam kes ini, kita perlu menggunakan kaedah objek PHP untuk memanggil kaedah kelas induk.
Mari bincangkan cara melaksanakan kaedah objek untuk memanggil kelas induknya dalam PHP.
1. Panggil kaedah kelas induk melalui kata kunci induk
Dalam PHP, terdapat kata kunci parent
yang boleh digunakan untuk memanggil kaedah dalam kelas induk. Dengan menggunakan borang parent::method()
dalam kaedah subkelas, anda boleh memanggil kaedah dengan nama yang sama dalam kelas induk.
Sebagai contoh, kami mempunyai kelas ibu bapa dan anak berikut:
class Animal { public function eat() { echo 'Animal is eating...'; } } class Cat extends Animal { public function eat() { parent::eat(); echo 'Cat is eating...'; } }
Dalam kod di atas, kelas Animal
mempunyai kaedah eat()
dan kelas Cat
mewarisi Mencipta kelas Animal
dan mengatasi kaedah eat()
. Dalam kaedah Cat
kelas eat()
, kaedah parent::eat()
kelas induk dipanggil melalui eat()
. Jika
memanggil kaedah Cat
kelas eat()
, Animal is eating...Cat is eating...
akan menjadi output.
2. Gunakan $this->parent
untuk memanggil kaedah kelas induk
Selain menggunakan kata kunci parent
, dalam PHP 5.3 atau lebih tinggi, anda juga boleh memanggil kaedah kelas induk dalam bentuk $this->parent
.
Sebagai contoh, kita boleh menukar kelas Cat
di atas kepada bentuk berikut:
class Cat extends Animal { public function eat() { $this->parent::eat(); echo 'Cat is eating...'; } }
Di sini kita menggunakan $this->parent
untuk memanggil kaedah dan output kelas induk eat()
Cat is eating...
.
3. Ringkasan
Dengan menggunakan kata kunci parent
atau $this->parent
, kita boleh melaksanakan kaedah objek dalam PHP yang memanggil kelas induknya.
Perlu diambil perhatian bahawa apabila terdapat parameter pembolehubah dalam kaedah kelas induk, contohnya:
class Animal { public function eat($food1, $food2) { echo "Animal is eating $food1 and $food2"; } } class Cat extends Animal { public function eat($food1, $food2) { //error, 不可使用parent::eat($food1, $food2) } }
Dalam subkelas, tidak dibenarkan menggunakan bentuk parent::eat($food1, $food2)
untuk memanggil kaedah kelas induk. Oleh kerana parameter pembolehubah dalam kelas induk boleh menjejaskan tingkah laku dalam subkelas, PHP tidak membenarkan kaedah ini Parameter mesti ditakrifkan semula dalam kaedah subkelas, contohnya:
class Cat extends Animal { public function eat($food1, $food2) { parent::eat($food1, $food2); echo "Cat is eating $food1 and $food2"; } }
Di atas adalah dalam PHP This. ialah pengenalan ringkas tentang cara objek memanggil kaedah kelas induk Saya harap ia akan membantu pembaca memahami cara objek PHP memanggil kaedah kelas induk.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan objek yang memanggil kaedah kelas induknya dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!