Contoh pembolehubah vs pemboleh ubah tempatan
Pemboleh ubah contoh adalah jenis pemboleh ubah yang terdapat dalam pengaturcaraan berorientasikan objek. Ia adalah pemboleh ubah yang ditakrifkan dalam kelas, dan setiap objek kelas itu memegang salinan berasingan pembolehubah itu. Sebaliknya, penggunaan pembolehubah tempatan tidak terhad kepada bahasa pengaturcaraan berorientasikan objek. Ia adalah pemboleh ubah yang boleh dinilai hanya dalam blok tertentu kod (e.g. fungsi, blok gelung, dll.) di mana ia ditakrifkan. Oleh sebab itu, pembolehubah tempatan dikatakan mempunyai skop tempatan.
Apakah pemboleh ubah contoh?
Pembolehubah contoh digunakan dalam pengaturcaraan berorientasikan objek untuk menyimpan keadaan setiap objek dalam kelas. Mereka juga dikenali sebagai pembolehubah ahli atau pembolehubah medan. Pembolehubah contoh diisytiharkan tanpa menggunakan kata kunci statik di java. Nilai yang disimpan dalam pembolehubah contoh adalah unik untuk setiap objek (setiap objek mempunyai salinan berasingan), dan nilai yang disimpan di dalamnya mewakili keadaan objek itu. Ruang untuk pemboleh ubah contoh diperuntukkan dalam timbunan, apabila objek itu diperuntukkan dalam timbunan. Oleh itu, pembolehubah contoh disimpan dalam ingatan selagi objek itu hidup. Contohnya, warna satu kereta adalah bebas dari warna kereta lain. Jadi warna objek kereta dapat disimpan dalam pemboleh ubah contoh. Dalam amalan, pembolehubah contoh diisytiharkan di dalam kelas, dan kaedah luar. Biasanya, pembolehubah contoh diisytiharkan sebagai peribadi supaya, mereka hanya dapat diakses di dalam kelas yang diisytiharkan.
Apa itu pemboleh ubah tempatan?
Pembolehubah tempatan adalah pembolehubah yang mempunyai skop tempatan, dan mereka diisytiharkan dalam blok kod tertentu. Pembolehubah tempatan dapat dilihat sebagai pembolehubah yang digunakan oleh kaedah untuk menyimpan keadaan sementara. Skop pembolehubah tempatan ditentukan menggunakan lokasi yang dibolehbaringkan, dan kata kunci khas tidak digunakan untuk tujuan ini. Biasanya, akses kepada pemboleh ubah tempatan terhad dalam blok kod yang diisytiharkan (i.e. antara pendakap pembukaan dan penutup blok kod itu). Pembolehubah tempatan biasanya disimpan dalam timbunan panggilan. Ini akan membolehkan panggilan fungsi rekursif untuk mengekalkan salinan pembolehubah tempatan mereka sendiri untuk disimpan dalam ruang alamat memori yang berasingan. Apabila kaedah menyelesaikan pelaksanaannya, maklumat mengenai kaedah itu muncul dari timbunan panggilan, juga memusnahkan pembolehubah tempatan yang disimpan.
Apakah perbezaan antara pemboleh ubah contoh dan pembolehubah tempatan?
Pembolehubah contoh diisytiharkan dalam kelas di luar kaedah, dan mereka menyimpan keadaan objek, sementara pembolehubah tempatan diisytiharkan dalam blok kod, dan mereka digunakan untuk menyimpan keadaan kaedah. Pemboleh ubah contoh hidup selagi objek yang mengandungi pembolehubah itu hidup, sementara pemboleh ubah tempatan hidup semasa pelaksanaan kaedah/ blok kod tersebut. Pemboleh ubah contoh (yang diisytiharkan awam) boleh diakses di dalam kelas, sedangkan pemboleh ubah tempatan hanya boleh diakses dalam blok kod yang diisytiharkan. Penggunaan pembolehubah contoh hanya terhad kepada pengaturcaraan berorientasikan objek, sementara pembolehubah tempatan tidak mempunyai batasan seperti itu.