Bagaimana dan Mengapa Kami Memulakan Ahli Data Statik di Luar Definisi Kelas?

Mary-Kate Olsen
Lepaskan: 2024-11-06 07:30:02
asal
784 orang telah melayarinya

How and Why Do We Initialize Static Data Members Outside the Class Definition?

Permulaan dan Definisi Ahli Data Statik

Ahli data statik, seperti pembolehubah "i" dalam kod yang disediakan, memerlukan pengendalian khas semasa pemula. Adalah penting untuk memahami perbezaan antara pemula, yang memberikan nilai dan definisi, yang mengisytiharkan kewujudan pembolehubah.

Pemula dan Definisi

Dalam contoh kod, data statik ahli "i" dimulakan di luar definisi kelas. Ini adalah keperluan kerana definisi mesti menyediakan alamat dalam ingatan untuk pembolehubah, yang tidak boleh ditentukan dalam definisi kelas itu sendiri.

Sebaliknya, pemula hanya memberikan nilai kepada pembolehubah tanpa menyatakannya alamat. Ini membolehkan cara ringkas untuk menetapkan nilai awal di satu tempat, mengelakkan keperluan untuk mengulanginya dalam pembina.

Ahli Data Bukan Statik

Ahli data bukan statik, seperti "NormalValue " dalam contoh, wujud dalam keadaan kelas. Alamat mereka bergantung pada instance yang mereka miliki. Oleh itu, takrifan ahli data bukan statik dicipta apabila tika dibuat.

Takrifan Ahli Data Statik

Sebaliknya, ahli data statik mempunyai alamat tetap dan wujud secara bebas daripada sebarang tika. Untuk memastikan mereka mendapat alamat yang unik, pemaut memerlukan satu definisi untuk setiap ahli data statik. Memandangkan definisi kelas biasanya disertakan dalam berbilang fail objek, mentakrifkan ahli data statik dalam kelas akan melanggar keperluan ini.

Definisi Di Luar Kelas

Untuk menyelesaikan isu ini, definisi ahli data statik mestilah diletakkan di luar pengisytiharan kelas. Ini memastikan bahawa ia muncul dalam satu fail objek, membenarkan pemaut untuk menetapkan alamat yang betul.

Analogi dengan Pembolehubah Luaran

Konsep mentakrifkan ahli data statik di luar kelas adalah serupa dengan mengisytiharkan pembolehubah luaran. Perisytiharan extern menunjukkan bahawa pembolehubah ditakrifkan di tempat lain dalam program. Begitu juga, pengisytiharan ahli data statik dalam definisi kelas boleh dilihat sebagai pengisytiharan luaran, dengan definisi sebenar disediakan secara berasingan.

Atas ialah kandungan terperinci Bagaimana dan Mengapa Kami Memulakan Ahli Data Statik di Luar Definisi Kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!