Dalam C , antara muka boleh diisytiharkan menggunakan kelas asas abstrak (ABC). ABC ialah kelas dengan sekurang-kurangnya satu kaedah maya tulen. Kaedah maya tulen ialah kaedah yang diisytiharkan dengan kata kunci = 0.
class IDemo { public: virtual ~IDemo() {} virtual void OverrideMe() = 0; };
Dalam contoh di atas, IDemo ialah ABC dengan kaedah maya tulen bernama OverrideMe. Mana-mana kelas yang mewarisi daripada IDemo mesti menentukan pelaksanaan untuk OverrideMe. Jika tidak, IDemo boleh digunakan untuk mewakili antara muka yang boleh dilaksanakan oleh kelas konkrit yang berbeza.
class Parent { public: virtual ~Parent(); }; class Child : public Parent, public IDemo { public: virtual void OverrideMe() { // Do stuff } };
Pengecualian kepada senarai kaedah maya tulen dalam antara muka ialah menambah pemusnah maya. Ini membolehkan pemilikan penunjuk diserahkan kepada pihak lain tanpa mendedahkan kelas terbitan konkrit. Pemusnah tidak perlu melakukan apa-apa kerana antara muka tidak mempunyai ahli konkrit.
class IDemo { public: virtual ~IDemo() {} virtual void OverrideMe() = 0; };
Kesimpulannya, antara muka boleh digunakan untuk mewakili sifat abstrak dan kaedah kelas. Dengan mencipta ABC dengan kaedah maya tulen, anda boleh memastikan bahawa mana-mana kelas yang mewarisi daripadanya mesti menentukan pelaksanaan untuk kaedah antara muka. Selain itu, menambah pemusnah maya pada antara muka boleh mendayakan pemindahan pemilikan penunjuk selamat.
Atas ialah kandungan terperinci Bagaimanakah Saya Mentakrifkan Antara Muka dalam C Menggunakan Kelas Asas Abstrak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!