Faedah Idiom "PIMPL"
Dalam simpulan bahasa "Penunjuk kepada Pelaksanaan" (PIMPL), kelas awam merangkumi struktur dalaman atau kelas ("pelaksanaan"), menyediakan persembunyian pelaksanaan daripada pengguna luaran. Teknik ini menawarkan beberapa kelebihan:
Pertimbangan Reka Bentuk untuk "Kelas Pimpl"
Sementara PIMPL mengasingkan pelaksanaan, meletakkan kaedah awam pada kelas PIMPL dan bukannya kelas awam mungkin kelihatan berlawanan dengan intuitif. Walau bagaimanapun, pendekatan ini memastikan bahawa:
Contoh Pelaksanaan dengan Pelaksanaan Terpencil
Pertimbangkan kod contoh di bawah, di mana "Purr( )" pelaksanaan terkandung dalam PIMPL class:
// header file: class Cat { private: class CatImpl; // PIMPL class CatImpl* cat_; // Pointer to PIMPL public: Cat(); // Constructor ~Cat(); // Destructor Purr(); // Public method }; // CPP file: #include "cat.h" class Cat::CatImpl { public: Purr(); }; Cat::Cat() { cat_ = new CatImpl; } Cat::~Cat() { delete cat_; } void Cat::Purr() { cat_->Purr(); } void CatImpl::Purr() { // Actual implementation of "Purr()" }
Dalam contoh ini, kelas awam "Cat" mengendalikan penciptaan dan pemusnahan objek "CatImpl" tetapi mewakilkan pelaksanaan "Purr()" kepada kelas PIMPL. Pendekatan ini memastikan bahawa butiran pelaksanaan "Purr()" disembunyikan daripada pengguna luaran sambil menyediakan antara muka yang stabil untuk berinteraksi dengan kelas "Cat".
Atas ialah kandungan terperinci Apakah faedah dan pertimbangan menggunakan simpulan bahasa PIMPL dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!