Polymorphism dalam PHP membolehkan objek berbeza berkongsi antara muka yang sama sambil mempunyai gelagat yang unik. Pelaksanaan melalui antara muka dan kelas abstrak: Antara muka mentakrifkan tandatangan kaedah tanpa menyediakan pelaksanaan. Objek mesti melaksanakan semua kaedah dalam antara muka. Kelas abstrak mengandungi kaedah yang tidak dilaksanakan yang hanya boleh dilaksanakan dalam subkelas. Contoh praktikal: Tentukan antara muka tingkah laku haiwan AnimalActions. Tentukan kelas haiwan abstrak Haiwan, yang mempunyai kaedah abstrak makeSound. Buat kelas haiwan konkrit Anjing dan Kucing, laksanakan AnimalActions dan buatSound. Buat kelas Zoo untuk menguruskan haiwan. Tambahkan haiwan ke Zoo dan laksanakan kaedah bercakap mereka, mengeluarkan "Buddy barks dan "Fluffy meow."
Polymorphism dalam PHP
Polymorphism ialah ciri penting dalam pengaturcaraan berorientasikan objek, yang membolehkan objek berbeza mempunyai antara muka yang sama sambil mengekalkan tingkah laku unik mereka sendiri. Dalam PHP, polimorfisme boleh dicapai menggunakan antara muka dan kelas abstrak.
Antaramuka
Antara muka mentakrifkan senarai tandatangan kaedah tanpa menyediakan pelaksanaan sebenar. Objek mesti melaksanakan semua kaedah yang ditakrifkan dalam antara muka, yang membenarkan objek dengan gelagat khusus yang berbeza untuk dianggap sebagai jenis antara muka yang sama.
interface Vehicle { public function start(); public function stop(); public function drive(); }
Kelas Abstrak
Kelas abstrak ialah kelas yang mengandungi sekurang-kurangnya satu kaedah yang tidak dilaksanakan. Kaedah abstrak hanya boleh dilaksanakan dalam subkelas kelas abstrak, menyediakan tingkah laku khusus untuk subkelas yang berbeza.
abstract class Animal { abstract public function makeSound(); }
Contoh Praktikal: Zoo
Pertimbangkan contoh zoo di mana haiwan mempunyai tingkah laku yang berbeza. Kita boleh menggunakan antara muka dan kelas abstrak untuk menentukan tingkah laku awam dan pelaksanaan konkrit haiwan. Antara muka kita boleh buat zoo, tambah haiwan, dan buat mereka bercakap:
interface AnimalActions { public function talk(); public function walk(); public function eat(); }
Ini akan menghasilkan: Atas ialah kandungan terperinci Bagaimana untuk melaksanakan polimorfisme dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!abstract class Animal {
protected $name;
public function __construct($name) {
$this->name = $name;
}
abstract public function makeSound();
}