Mengapa Kita Memerlukan Pemusnah Maya Tulen dalam C ?
Pemusnah maya adalah penting dalam C untuk memastikan pembersihan objek yang betul apabila berurusan dengan pewarisan dan polimorfisme. Walau bagaimanapun, mengapakah kita memerlukan pemusnah maya tulen secara khusus?
Bila Menggunakan Pemusnah Maya Tulen
Pemusnah maya tulen digunakan terutamanya apabila kita mahu mengisytiharkan kelas sebagai abstrak. Ini bermakna kelas yang diperoleh daripada kelas abstrak mesti mengatasi pemusnah.
Walau bagaimanapun, perlu diingat bahawa menjadikan maya tulen pemusnah tidak menjadikan kelas itu abstrak secara automatik. Seseorang boleh membuat abstrak kelas dengan membuat mana-mana fungsi ahlinya maya tulen.
Adakah Amalan Baik untuk Menjadikan Destructor Tulen Maya dalam Kelas Abstrak?
Tidak, secara amnya tidak dianggap amalan yang baik untuk menjadikan pemusnah tulen maya dalam kelas abstrak. Pemusnah maya biasa memadai untuk mengisytiharkan kelas sebagai abstrak.
Sebabnya ialah pengkompil secara automatik akan menjana pemusnah tersirat untuk kelas terbitan jika pengarang kelas tidak mentakrifkannya. Pemusnah tersirat ini akan bukan menjadi maya tulen, yang bermaksud kelas terbitan tidak akan menjadi abstrak semata-mata kerana pemusnah maya tulen dalam kelas asas.
Faedah Tambahan
Walaupun tidak begitu diperlukan untuk tujuan menjadikan kelas abstrak, pemusnah maya tulen kadangkala boleh mudah sebagai peringatan kepada kelas terbitan bahawa kod pembersihan khusus diperlukan. Walau bagaimanapun, pendekatan ini dianggap agak direka dan tidak dikuatkuasakan.
Kesimpulan
Dalam C , pemusnah maya tulen tidak penting untuk mengisytiharkan kelas sebagai abstrak, seperti mana-mana maya tulen fungsi ahli dapat memenuhi tujuan ini. Faedah utama mereka ialah memberikan peringatan kepada kelas terbitan bahawa kod pembersihan khusus diperlukan.
Atas ialah kandungan terperinci Bilakah C Destructor Harus Menjadi Maya Tulen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!