Gunakan kelas abstrak dan antara muka untuk mencapai penyahgandingan dan penggunaan semula kod: kelas abstrak memaksa subkelas untuk melaksanakan kaedah dan menyediakan antara muka awam. Antara muka mentakrifkan cetak biru kaedah, decouple code dan membolehkan polimorfisme. Kes praktikal: Kelas abstrak Haiwan mentakrifkan tingkah laku bercakap haiwan, dan subkelas Anjing dan Kucing melaksanakan tingkah laku bercakap tertentu. Antara muka Speakable mentakrifkan kaedah pertuturan, kelas Haiwan dan Anjing melaksanakan antara muka, dan pendengar acara AnimalSpeaker dicipta untuk melaksanakan tingkah laku bercakap.
Dalam PHP, kelas dan antara muka abstrak ialah ciri penting untuk mencapai penyahgandingan kod dan kebolehgunaan semula kod.
Definisi:
Kelas induk yang tidak mengandungi pelaksanaan khusus Ia mentakrifkan kaedah yang mesti dilaksanakan oleh subkelas.
Kelebihan:
Sintaks:
abstract class Animal { abstract public function speak(); }
Definisi:
Pelan tindakan yang mentakrifkan satu set kaedah dan tidak mengandungi pelaksanaan khusus. Kelas yang melaksanakan antara muka mesti melaksanakan semua kaedah yang ditakrifkan dalam antara muka.
Kelebihan:
Tatabahasa:
interface Speakable { public function speak(); }
Simulasi ucapan haiwan:
Pertimbangkan situasi di mana haiwan disimulasikan untuk bercakap. Anda boleh menggunakan kelas abstrak Animal
untuk mentakrifkan gelagat biasa bagi kelas haiwan dan kaedah abstrak speak()
untuk memaksa subkelas melaksanakan gelagat pertuturan. Animal
定义动物类的通用行为,以及一个 speak()
抽象方法强制子类实现说话行为。
// Animal 抽象类 abstract class Animal { abstract public function speak(); } // Dog 子类 class Dog extends Animal { public function speak() { echo "Woof!"; } } // Cat 子类 class Cat extends Animal { public function speak() { echo "Meow!"; } }
使用接口创建事件监听器:
接口 Speakable
定义了 speak()
// Speakable 接口 interface Speakable { public function speak(); } // Animal 类 class Animal implements Speakable { public function speak() { echo "I am an animal!"; } } // Dog 类 class Dog implements Speakable { public function speak() { echo "Woof!"; } } // 创建事件监听器 class AnimalSpeaker { public function listen(Speakable $speaker) { $speaker->speak(); } } // 实例化事件监听器 $speaker = new AnimalSpeaker(); // 让动物说话 $speaker->listen(new Animal()); $speaker->listen(new Dog());
Buat pendengar acara menggunakan antara muka:
🎜🎜Antaramukaspeak()
dan anda boleh membenarkan mana-mana kelas yang melaksanakan antara muka ini melakukan tingkah laku bercakap. 🎜rrreee🎜Dengan cara ini anda boleh memisahkan kod anda dan mencapai aplikasi yang lebih fleksibel dan boleh digunakan semula. 🎜Atas ialah kandungan terperinci Ciri lanjutan PHP: menggunakan kelas abstrak dan antara muka dalam amalan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!