Rumah > Artikel > pembangunan bahagian belakang > Mengapakah Ahli Data Statik Memerlukan Permulaan Luar Kelas dalam C ?
Dalam pengaturcaraan berorientasikan objek, ahli data statik , dikenali sebagai pembolehubah peringkat kelas, dikongsi antara semua kejadian kelas. Tidak seperti ahli data biasa yang wujud dalam setiap objek, ahli data statik wujud di luar mana-mana tika objek.
Untuk memastikan peruntukan alamat unik dan konsisten mereka, ahli data statik memerlukan satu definisi yang jelas dalam atur cara. Takrifan ini tidak boleh diletakkan dalam definisi kelas kerana definisi kelas biasanya disertakan dalam berbilang fail objek, yang membawa kepada potensi definisi pendua. Oleh itu, takrifan ahli data statik mesti diisytiharkan secara berasingan.
Pengamalan ahli data bukan statik (NSDMI) membenarkan pengaturcara menentukan nilai awal untuk bukan statik ahli data dalam definisi kelas. Walau bagaimanapun, ini hanyalah permulaan, bukan definisi. Takrifan sebenar ahli data, sama ada statik atau tidak statik, berlaku di luar kelas.
Ahli data bukan statik disimpan dalam objek yang dimilikinya . Hayat mereka bermula dengan pembina objek. Ahli data statik, sebaliknya, wujud secara bebas daripada objek, tinggal di alamat tetap dari permulaan program. Mereka diperuntukkan memori pada masa penyusunan.
Mentakrifkan ahli data statik adalah serupa dengan mengisytiharkan pembolehubah luaran dalam C . Pengisytiharan pembolehubah luaran, seperti extern int i;, menunjukkan bahawa pembolehubah i diisytiharkan di tempat lain dalam atur cara. Begitu juga, ahli data statik diisytiharkan dalam definisi kelas, tetapi takrifan mereka disediakan secara berasingan menggunakan sintaks seperti int X::i = 0;, dengan X ialah nama kelas dan i ialah ahli data statik.
Atas ialah kandungan terperinci Mengapakah Ahli Data Statik Memerlukan Permulaan Luar Kelas dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!