Editor PHP Xiaoxin akan membawa anda menerokai teras pengaturcaraan berorientasikan objek - pewarisan dan polimorfisme PHP. Menguasai kedua-dua konsep ini akan meningkatkan fleksibiliti dan kebolehgunaan semula kod anda, menjadikan program anda lebih cekap dan lebih mudah untuk diselenggara. Artikel ini akan menganalisis prinsip pewarisan dan polimorfisme untuk anda dan membantu anda lebih memahami dan menggunakan intipati pengaturcaraan berorientasikan objek.
Warisan merujuk kepada keupayaan satu kelas (dipanggil subkelas) untuk mendapatkan sifat dan kaedah daripada kelas lain (dipanggil kelas induk). Subkelas boleh menggunakan semula kod kelas induk dan menambah sifat dan kaedah baharu mereka sendiri. Melakukannya mengurangkan pertindihan kod dan menjadikan kod lebih mudah untuk diselenggara.
Berikut ialah contoh mudah yang menunjukkan pewarisan:
class ParentClass { public $name; public function getName() { return $this->name; } } class ChildClass extends ParentClass { public $age; public function getAge() { return $this->age; } } $child = new ChildClass(); $child->name = "John Doe"; $child->age = 30; echo $child->getName(); // "John Doe" echo $child->getAge(); // 30
Dalam contoh ini, kaedah ChildClass
从 ParentClass
继承了 name
属性和 getName()
方法。ChildClass
还添加了自己的 age
属性和 getAge()
.
Polymorphism bermaksud apabila objek subkelas digunakan sebagai objek kelas induk, kaedah akan dipanggil berdasarkan pelaksanaan kaedah objek subkelas. Ini berguna untuk menulis kod berskala dan fleksibel, kerana anda boleh mencipta objek kelas induk dan mengisinya dengan objek kelas anak yang berbeza tanpa mengubah suai kod kelas induk.
Berikut ialah contoh mudah yang menunjukkan polimorfisme:
class Animal { public function makeSound() { echo "Animal sound"; } } class Dog extends Animal { public function makeSound() { echo "Woof!"; } } class Cat extends Animal { public function makeSound() { echo "Meow!"; } } $animals = array(new Dog(), new Cat()); foreach ($animals as $animal) { $animal->makeSound(); }
Dalam contoh ini, kaedah Dog
和 Cat
类都从 Animal
类继承了 makeSound()
方法。但是,Dog
和 Cat
类各自重写了 makeSound()
方法,以便当调用该方法时,它会发出不同的声音。当我们使用 foreach
循环遍历 $animals
数组时,makeSound()
mengeluarkan bunyi yang berbeza bergantung pada objek subkelas yang digunakan untuk mengisi tatasusunan.
Warisan dan polimorfisme ialah dua konsep asas OOP dalam PHP. Warisan membenarkan penciptaan hierarki kelas dan membenarkan subkelas menggunakan semula kod kelas induk. Polimorfisme membenarkan mencipta objek kelas induk dan mengisinya dengan objek kelas anak yang berbeza tanpa mengubah suai kod kelas induk. Konsep ini berguna untuk menulis kod yang boleh skala, fleksibel dan mudah diselenggara.
Atas ialah kandungan terperinci Warisan PHP dan polimorfisme: mendedahkan intipati pengaturcaraan berorientasikan objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!