Bagaimana untuk melaksanakan objek yang memanggil kaedah kelas induknya dalam PHP

PHPz
Lepaskan: 2023-04-04 10:56:01
asal
1098 orang telah melayarinya

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...';
    }
}
Salin selepas log masuk

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...';
    }
}
Salin selepas log masuk

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

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

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!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan