Cara Akses Variable (Modifier)

Modifier adalah kata kunci yang ditambahkan pada elemen pemrograman apa pun untuk memberikan penekanan khusus tentang bagaimana elemen tersebut akan berperilaku atau diakses dalam program.

Sebagai contoh, modifier akses seperti: Public, Private, Protected, Friend, Protected Friend, dan lain-lain menunjukkan tingkat akses suatu elemen pemrograman seperti variabel, konstanta, enumerasi, atau kelas.


Daftar Modifier yang Tersedia di VB.Net

No.ModifierDeskripsi
1AnsiMenentukan bahwa Visual Basic harus mengonversi semua string ke nilai ANSI (American National Standards Institute) terlepas dari nama prosedur eksternal yang dideklarasikan.
2AssemblyMenentukan bahwa atribut di awal file sumber berlaku untuk seluruh assembly.
3AsyncMenunjukkan bahwa metode atau ekspresi lambda yang dimodifikasi bersifat asynchronous (tidak sinkron). Pemanggil metode async dapat melanjutkan pekerjaannya tanpa harus menunggu metode tersebut selesai.
4AutoDigunakan dalam pernyataan Declare untuk mengatur cara Visual Basic mengelola string saat memanggil prosedur eksternal, dan juga mempengaruhi bagaimana pencarian nama prosedur dilakukan dalam file eksternal.
5ByRefMenentukan bahwa argumen dikirimkan sebagai referensi, sehingga prosedur yang dipanggil dapat mengubah nilainya.
6ByValMenentukan bahwa argumen dikirimkan sebagai nilai, sehingga prosedur yang dipanggil tidak dapat mengubah nilai aslinya.
7DefaultMenetapkan properti sebagai properti default dalam kelas, struktur, atau antarmuka.
8FriendElemen pemrograman yang dideklarasikan dengan Friend hanya dapat diakses dari dalam assembly yang sama. Ini adalah level akses default untuk modul, kelas, struktur, dan antarmuka.
9InDigunakan dalam antarmuka dan delegasi generik.
10IteratorMenentukan bahwa fungsi atau accessor Get adalah iterator, yaitu melakukan iterasi kustom terhadap koleksi.
11KeyDigunakan untuk menentukan perilaku properti dalam tipe anonim.
12ModuleMenentukan bahwa atribut di awal file sumber berlaku untuk modul assembly saat ini (berbeda dengan pernyataan Module).
13MustInheritMenunjukkan bahwa kelas hanya bisa digunakan sebagai kelas dasar (tidak bisa langsung diinstansiasi).
14MustOverrideMenunjukkan bahwa properti atau prosedur tidak diimplementasikan dalam kelas ini dan harus dioverride di kelas turunan.
15NarrowingMenunjukkan bahwa konversi tipe bisa kehilangan beberapa data, misalnya mengkonversi kelas ke tipe yang tidak bisa menampung semua nilainya.
16NotInheritableMenunjukkan bahwa kelas tidak bisa digunakan sebagai kelas dasar.
17NotOverridableMenunjukkan bahwa properti atau prosedur tidak bisa dioverride di kelas turunan.
18OptionalMenunjukkan bahwa argumen prosedur bisa dihilangkan saat pemanggilan.
19OutDigunakan untuk parameter tipe generik yang bersifat covariant.
20OverloadsMenunjukkan bahwa properti atau prosedur mendeklarasikan ulang satu atau lebih prosedur/properti dengan nama yang sama.
21OverridableMenunjukkan bahwa properti atau prosedur bisa dioverride oleh turunan.
22OverridesMenunjukkan bahwa properti atau prosedur mengoverride elemen identik dari kelas dasar.
23ParamArrayMengizinkan prosedur menerima sejumlah argumen yang tidak ditentukan (array parameter).
24PartialMenunjukkan bahwa deklarasi kelas atau struktur adalah definisi parsial (terpisah dalam beberapa file).
25PrivateMenunjukkan bahwa elemen pemrograman hanya bisa diakses dari dalam konteks deklarasinya.
26ProtectedMenunjukkan bahwa elemen hanya bisa diakses dari dalam kelasnya sendiri atau kelas turunan.
27PublicMenunjukkan bahwa elemen tidak memiliki batasan akses (bisa diakses dari mana saja).
28ReadOnlyVariabel atau properti hanya bisa dibaca, tidak bisa ditulis.
29ShadowsElemen yang dideklarasikan menyembunyikan elemen lain dengan nama yang sama dari kelas dasar.
30SharedMenunjukkan bahwa elemen milik seluruh kelas atau struktur, bukan pada instance tertentu.
31StaticVariabel lokal tetap mempertahankan nilainya meskipun prosedur telah selesai dijalankan.
32UnicodeMenentukan bahwa semua string harus dikonversi ke Unicode.
33WideningMenunjukkan bahwa konversi ke tipe lain akan selalu berhasil tanpa kehilangan data.
34WithEventsMenunjukkan bahwa variabel anggota menunjuk ke objek yang dapat memunculkan event.
35WriteOnlyMenunjukkan bahwa properti hanya bisa ditulis (tidak bisa dibaca).

Kita coba praktekkan di kelas ya bersama instruktur agar lebih nyaman to the point, okay?