Meneroka Kelas Proksi dalam C
Kelas proksi ialah teknik pengaturcaraan asas dalam C yang membolehkan penciptaan antara muka yang diubah suai ke kelas lain , dikenali sebagai kelas sasaran. Konsep ini terbukti tidak ternilai dalam pelbagai senario pengaturcaraan.
Pertimbangkan contoh tatasusunan yang direka untuk menyimpan hanya digit binari (0 dan 1). Dalam percubaan naif, kami mungkin mentakrifkan tatasusunan dengan pengendali indeks seperti yang ditunjukkan di bawah:
struct BinaryArray { int mArray[10]; int &operator[](int i); };
Walau bagaimanapun, pendekatan ini menunjukkan kelemahan: tiada cara untuk menguatkuasakan bahawa hanya digit binari disimpan dalam tatasusunan. Untuk mengatasinya, kami boleh menggunakan kelas proksi. Proksi bertindak sebagai perantara antara pengguna dan kelas sasaran, menyediakan antara muka tersuai dengan akses terhad kepada ahlinya.
Dalam contoh tatasusunan digit binari kami, kami boleh mencipta kelas proksi yang dipanggil BitProxy yang memintas tugasan dibuat melalui pengendali indeks:
struct BitProxy { BitProxy(int &r) : mPtr(&r) {} void operator=(int n) { if (n != 0 && n != 1) { throw "Invalid binary digit"; } *mPtr = n; } private: int *mPtr; };
Dengan mengubah suai kelas tatasusunan untuk mengembalikan objek BitProxy dalam pengendali indeksnya, kami secara berkesan mengehadkan julat nilai yang boleh disimpan dalam tatasusunan:
struct BinaryArray { int mArray[10]; BitProxy operator[](int i) { return BitProxy(mArray[i]); } };
Sekarang, apabila kita cuba untuk menetapkan digit bukan perduaan kepada tatasusunan, BitProxy memastikan integriti tatasusunan dengan membuang pengecualian. Contoh mudah ini menggambarkan kuasa kelas proksi dalam menyediakan kawalan terperinci ke atas antara muka kelas.
Atas ialah kandungan terperinci Bagaimanakah Kelas Proksi Boleh Menguatkuasakan Integriti Data dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!