Warisan PHP dan polimorfisme: mendedahkan intipati pengaturcaraan berorientasikan objek

WBOY
Lepaskan: 2024-02-19 16:20:02
ke hadapan
544 orang telah melayarinya

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

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

Dalam contoh ini, kaedah ChildClassParentClass 继承了 name 属性和 getName() 方法。ChildClass 还添加了自己的 age 属性和 getAge().

Polymorphic

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

Dalam contoh ini, kaedah DogCat 类都从 Animal 类继承了 makeSound() 方法。但是,DogCat 类各自重写了 makeSound() 方法,以便当调用该方法时,它会发出不同的声音。当我们使用 foreach 循环遍历 $animals 数组时,makeSound() mengeluarkan bunyi yang berbeza bergantung pada objek subkelas yang digunakan untuk mengisi tatasusunan.

Kesimpulan

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!

Label berkaitan:
sumber:lsjlt.com
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