PHP ialah bahasa pengaturcaraan yang popular Dalam pengaturcaraan berorientasikan objek, antara muka ialah konsep biasa. Antara muka dalam PHP bermakna kelas mentakrifkan satu set kaedah, tetapi tidak menyediakan pelaksanaan Sebaliknya, kaedah ini dilaksanakan oleh kelas yang melaksanakan antara muka. Antara muka memainkan peranan menyeragamkan dan mengekang kelas pelaksanaan, dan mempunyai fleksibiliti dan skalabiliti yang hebat. Dalam antara muka PHP, ia dibahagikan kepada dua jenis: antara muka kelas abstrak dan antara muka biasa. Dalam artikel ini, kami akan memberi tumpuan kepada perbezaan antara kaedah antara muka kelas PHP.
1. Antara muka kelas abstrak
Kelas abstrak tidak boleh dijadikan instantiated, tetapi hanya boleh diwarisi Fungsi utamanya Ia menyediakan a struktur asas untuk kelas lain Kod biasa diletakkan dalam kelas abstrak, dan butiran dilaksanakan dalam subkelas. Kaedah dalam kelas abstrak adalah pilihan, dan sesetengahnya boleh ditakrifkan sebagai kaedah abstrak (iaitu, kaedah dengan hanya nama kaedah tetapi tiada badan kaedah Kelas abstrak mesti mengandungi sekurang-kurangnya satu kaedah abstrak, jika tidak semua kaedah di bawah pengisytiharannya akan Dipertimbangkan a kaedah biasa.
Contoh:
abstract class Animal{ abstract function eat(); function sleep(){ echo "晚安,好梦!"; } }
Memandangkan kelas abstrak tidak boleh digunakan, ia hanya boleh dilaksanakan melalui subkelas , subkelas mesti melaksanakan semua kaedah abstrak yang ditakrifkan dalam kelas abstrak, jika tidak, subkelas juga mesti ditakrifkan sebagai kelas abstrak.
Contoh:
class Cat extends Animal{ function eat(){ echo "吃小鱼干!"; } }
Dalam kod di atas, kami mentakrifkan kelas Cat
untuk mewarisi kelas Animal
dan melaksanakan Cat
dalam kaedah kelas eat()
, supaya kita boleh mengakses kaedah pelaksanaan khusus dalam kelas abstrak ini melalui kelas Cat
.
2. Antara muka konvensional
Antara muka konvensional ialah satu lagi bentuk antara muka dalam PHP. Antara muka biasa boleh mempunyai kaedah dan pemalar Semua kaedah yang ditakrifkan dalam antara muka mesti dilaksanakan oleh mana-mana kelas, jika tidak ralat maut akan berlaku. Dengan melaksanakan kelas antara muka, kelas boleh mengakses kaedah dan pemalar yang ditakrifkan dalam antara muka.
Dalam PHP, kita boleh mentakrifkan antara muka umum dan menentukan kaedah yang perlu dilaksanakan:
interface IAnimal{ public function eat(); public function run(); }
Dalam coretan kod ini, kami mentakrifkan antara muka IAnimal
dan menentukan dua kaedah yang perlu dilaksanakan - eat()
dan run()
.
Apabila melaksanakan antara muka biasa, anda mesti melaksanakan semua kaedah yang ditakrifkan di dalamnya semasa melaksanakan antara muka, jika tidak ralat penyusunan akan berlaku.
Contoh:
class Dog implements IAnimal{ function eat(){ echo "吃骨头!"; } function run(){ echo "追皮球!"; } }
Dalam coretan kod di atas, kami mentakrifkan kelas Dog
, melaksanakan antara muka IAnimal
dan melaksanakan dua yang ditakrifkan dalam Kaedah antara muka - eat()
dan run()
.
3. Perbezaan antara antara muka kelas abstrak dan antara muka konvensional
Cara menentukan antara muka kelas abstrak dan antara muka konvensional definisi Mereka berbeza antara muka kelas abstrak ditakrifkan dan dilaksanakan melalui kelas abstrak, manakala antara muka biasa ditakrifkan dan dilaksanakan secara langsung.
Antara muka kelas abstrak dilaksanakan melalui pewarisan, manakala antara muka biasa dilaksanakan dengan melaksanakan semua kaedah yang ditakrifkan dalam antara muka.
Kelas abstrak boleh mempunyai kaedah biasa dan kaedah abstrak, manakala antara muka biasa hanya boleh mentakrifkan kaedah abstrak; > Kelas abstrak mesti dilaksanakan melalui warisan, manakala antara muka biasa boleh dilaksanakan oleh berbilang kelas
Kaedah abstrak kelas abstrak mesti dilaksanakan oleh subkelas, dan mana-mana kelas yang melaksanakan antara muka biasa mesti melaksanakannya dalam; bentuk yang sama Semua kaedah dalam antara muka.
Perbezaan dalam semantik reka bentukAntara muka umum digunakan terutamanya untuk mengekang protokol komunikasi antara objek dalam reka bentuk bahasa. Antara muka biasa mentakrifkan beberapa spesifikasi dan kaedah awam, yang dilaksanakan oleh berbilang kelas.
Kesimpulan
Sama ada antara muka kelas abstrak atau antara muka biasa, ia adalah konsep yang sangat penting dalam PHP. Antara muka kelas abstrak boleh menyediakan struktur warisan yang fleksibel dan menyokong pelaksanaan lalai kaedah Adalah disyorkan bahawa kaedah dalam kelas abstrak adalah kaedah biasa antara kelas manakala antara muka konvensional menyeragamkan nama kaedah kelas dan ia disyorkan bahawa kaedah dalam antara muka adalah khusus antara kaedah tugasan kelas. Oleh itu, apabila menjalankan aplikasi praktikal tertentu, kita harus memilih jenis antara muka yang berbeza mengikut senario penggunaan tertentu.
Atas ialah kandungan terperinci Mari kita bincangkan tentang perbezaan antara kaedah antara muka kelas PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!