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. | Modifier | Deskripsi |
---|---|---|
1 | Ansi | Menentukan bahwa Visual Basic harus mengonversi semua string ke nilai ANSI (American National Standards Institute) terlepas dari nama prosedur eksternal yang dideklarasikan. |
2 | Assembly | Menentukan bahwa atribut di awal file sumber berlaku untuk seluruh assembly. |
3 | Async | Menunjukkan bahwa metode atau ekspresi lambda yang dimodifikasi bersifat asynchronous (tidak sinkron). Pemanggil metode async dapat melanjutkan pekerjaannya tanpa harus menunggu metode tersebut selesai. |
4 | Auto | Digunakan 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. |
5 | ByRef | Menentukan bahwa argumen dikirimkan sebagai referensi, sehingga prosedur yang dipanggil dapat mengubah nilainya. |
6 | ByVal | Menentukan bahwa argumen dikirimkan sebagai nilai, sehingga prosedur yang dipanggil tidak dapat mengubah nilai aslinya. |
7 | Default | Menetapkan properti sebagai properti default dalam kelas, struktur, atau antarmuka. |
8 | Friend | Elemen pemrograman yang dideklarasikan dengan Friend hanya dapat diakses dari dalam assembly yang sama. Ini adalah level akses default untuk modul, kelas, struktur, dan antarmuka. |
9 | In | Digunakan dalam antarmuka dan delegasi generik. |
10 | Iterator | Menentukan bahwa fungsi atau accessor Get adalah iterator, yaitu melakukan iterasi kustom terhadap koleksi. |
11 | Key | Digunakan untuk menentukan perilaku properti dalam tipe anonim. |
12 | Module | Menentukan bahwa atribut di awal file sumber berlaku untuk modul assembly saat ini (berbeda dengan pernyataan Module ). |
13 | MustInherit | Menunjukkan bahwa kelas hanya bisa digunakan sebagai kelas dasar (tidak bisa langsung diinstansiasi). |
14 | MustOverride | Menunjukkan bahwa properti atau prosedur tidak diimplementasikan dalam kelas ini dan harus dioverride di kelas turunan. |
15 | Narrowing | Menunjukkan bahwa konversi tipe bisa kehilangan beberapa data, misalnya mengkonversi kelas ke tipe yang tidak bisa menampung semua nilainya. |
16 | NotInheritable | Menunjukkan bahwa kelas tidak bisa digunakan sebagai kelas dasar. |
17 | NotOverridable | Menunjukkan bahwa properti atau prosedur tidak bisa dioverride di kelas turunan. |
18 | Optional | Menunjukkan bahwa argumen prosedur bisa dihilangkan saat pemanggilan. |
19 | Out | Digunakan untuk parameter tipe generik yang bersifat covariant. |
20 | Overloads | Menunjukkan bahwa properti atau prosedur mendeklarasikan ulang satu atau lebih prosedur/properti dengan nama yang sama. |
21 | Overridable | Menunjukkan bahwa properti atau prosedur bisa dioverride oleh turunan. |
22 | Overrides | Menunjukkan bahwa properti atau prosedur mengoverride elemen identik dari kelas dasar. |
23 | ParamArray | Mengizinkan prosedur menerima sejumlah argumen yang tidak ditentukan (array parameter). |
24 | Partial | Menunjukkan bahwa deklarasi kelas atau struktur adalah definisi parsial (terpisah dalam beberapa file). |
25 | Private | Menunjukkan bahwa elemen pemrograman hanya bisa diakses dari dalam konteks deklarasinya. |
26 | Protected | Menunjukkan bahwa elemen hanya bisa diakses dari dalam kelasnya sendiri atau kelas turunan. |
27 | Public | Menunjukkan bahwa elemen tidak memiliki batasan akses (bisa diakses dari mana saja). |
28 | ReadOnly | Variabel atau properti hanya bisa dibaca, tidak bisa ditulis. |
29 | Shadows | Elemen yang dideklarasikan menyembunyikan elemen lain dengan nama yang sama dari kelas dasar. |
30 | Shared | Menunjukkan bahwa elemen milik seluruh kelas atau struktur, bukan pada instance tertentu. |
31 | Static | Variabel lokal tetap mempertahankan nilainya meskipun prosedur telah selesai dijalankan. |
32 | Unicode | Menentukan bahwa semua string harus dikonversi ke Unicode. |
33 | Widening | Menunjukkan bahwa konversi ke tipe lain akan selalu berhasil tanpa kehilangan data. |
34 | WithEvents | Menunjukkan bahwa variabel anggota menunjuk ke objek yang dapat memunculkan event. |
35 | WriteOnly | Menunjukkan bahwa properti hanya bisa ditulis (tidak bisa dibaca). |
Kita coba praktekkan di kelas ya bersama instruktur agar lebih nyaman to the point, okay?