Memanggil Fungsi Kelas Kanak-kanak daripada Kelas Induk
Dalam PHP, adalah mungkin untuk memanggil fungsi daripada kelas anak dalam kelas induk, tetapi ia memerlukan perancangan yang teliti.
Pertimbangkan contoh kod berikut:
<code class="php">class whale { ... } class fish extends whale { ... }</code>
Dalam contoh ini, kami mempunyai kelas ikan paus dan kelas ikan yang mewarisi daripadanya. Matlamatnya ialah untuk memanggil fungsi test() daripada kelas ikan dalam fungsi myfunc() kelas ikan paus.
Penyelesaian: Gunakan Kelas Abstrak
Untuk mencapai ini, kita boleh memanfaatkan kelas abstrak. Kelas abstrak menguatkuasakan pelaksanaan kaedah tertentu dalam kelas anaknya.
<code class="php">abstract class whale { function __construct() { ... } function myfunc() { $this->test(); } abstract function test(); }</code>
Dalam kelas paus yang dikemas kini, kami kini mengisytiharkan myfunc() dan test() sebagai kaedah abstrak. myfunc() akan memanggil test(), yang perlu dilaksanakan dalam kelas kanak-kanak.
<code class="php">class fish extends whale { function __construct() { parent::__construct(); } function test() { echo "So you managed to call me !!"; } }</code>
Dalam kelas ikan, kami menyediakan pelaksanaan untuk test(). Ini memastikan bahawa keperluan abstrak kelas induk dipenuhi.
Dengan persediaan ini, kita kini boleh memanggil fungsi test() daripada ikan dalam myfunc() kelas paus.
<code class="php">$fish = new fish(); $fish->test(); // Output: So you managed to call me !! $fish->myfunc(); // Output: So you managed to call me !!</code>
Dengan menggunakan kelas abstrak, kami menguatkuasakan pewarisan yang betul dan memastikan kelas kanak-kanak melaksanakan kaedah yang diperlukan. Ini membolehkan kami memanggil fungsi kelas anak daripada kelas induk dengan lancar.
Atas ialah kandungan terperinci Bagaimana untuk Memanggil Fungsi Kelas Kanak-kanak daripada Kelas Induk dalam PHP Menggunakan Kelas Abstrak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!