Pengubah akses (juga disebut aturan pelingkupan) menentukan kode apa yang dapat mengakses suatu elemen — yaitu, kode apa yang memiliki izin untuk membacanya atau menulisnya. Dalam versi Visual Basic sebelumnya, ada tiga jenis kelas. Ini telah dibawa ke .NET. Di masing-masing, .NET hanya memungkinkan akses ke kode:
- Pribadi - dalam modul, kelas, atau struktur yang sama.
- Teman - dalam majelis yang sama.
- Publik - di mana saja dalam proyek yang sama, dari proyek lain yang merujuk proyek, dan dari setiap perakitan yang dibangun dari proyek. Dengan kata lain, kode apa saja yang dapat menemukannya.
VB.NET juga menambahkan satu setengah yang baru.
- Terlindung
- Teman Terlindungi
"Setengah" adalah karena Teman Terproteksi adalah kombinasi dari kelas Baru yang dilindungi dan kelas Teman lama.
Pengubah Teman yang Dilindungi dan Dilindungi diperlukan karena VB.NET mengimplementasikan persyaratan OOP terakhir yang tidak dimiliki VB: Warisan.
Sebelumnya untuk VB.NET, programmer C ++ dan Java yang supercilious dan menghina akan meremehkan VB karena, menurut mereka, "tidak sepenuhnya berorientasi objek." Mengapa? Versi sebelumnya tidak memiliki warisan. Warisan memungkinkan objek untuk berbagi antarmuka dan / atau implementasi dalam hierarki. Dengan kata lain, pewarisan memungkinkan untuk satu objek perangkat lunak yang mengambil semua metode dan properti yang lain.
Ini sering disebut hubungan "is-a".
- Sebuah truk "is-a" kendaraan.
- Bentuk kotak "is-a".
- Seekor anjing "adalah-a" mamalia.
Idenya adalah bahwa metode dan properti yang lebih umum dan banyak digunakan didefinisikan sebagai kelas "induk" dan ini dibuat lebih spesifik di kelas "anak" (sering disebut subclass). "Mamalia" adalah deskripsi yang lebih umum daripada "anjing." Paus adalah mamalia.
Manfaat besar adalah Anda dapat mengatur kode Anda sehingga Anda hanya perlu menulis kode yang melakukan sesuatu yang harus dilakukan oleh banyak objek pada induknya. Semua "karyawan" harus memiliki "nomor karyawan" yang ditugaskan kepada mereka. Kode yang lebih spesifik dapat menjadi bagian dari kelas anak. Hanya karyawan yang bekerja di kantor umum yang perlu memiliki kunci kartu pintu karyawan yang ditugaskan kepada mereka.
Namun, kemampuan pewarisan baru ini membutuhkan aturan baru. Jika kelas baru didasarkan pada yang lama, Protected adalah pengubah akses yang mencerminkan hubungan itu. Kode yang dilindungi hanya dapat diakses dari dalam kelas yang sama, atau dari kelas yang berasal dari kelas ini. Anda tidak ingin kunci kartu pintu karyawan diberikan kepada siapa pun kecuali karyawan.
Sebagaimana dicatat, Teman yang Dilindungi adalah kombinasi dari akses baik Teman maupun yang Dilindungi. Elemen kode dapat diakses baik dari kelas turunan atau dari dalam majelis yang sama, atau keduanya. Teman Terproteksi dapat digunakan untuk membuat perpustakaan kelas karena kode yang mengakses kode Anda hanya harus berada dalam rakitan yang sama.
Tetapi Teman juga memiliki akses itu, jadi mengapa Anda menggunakan Teman yang Dilindungi? Alasannya adalah bahwa Teman dapat digunakan dalam file Sumber, Namespace, Antarmuka, Modul, Kelas, atau Struktur. Tetapi Teman yang Dilindungi hanya dapat digunakan di Kelas. Teman Terproteksi adalah apa yang Anda butuhkan untuk membangun perpustakaan objek Anda sendiri. Teman hanya untuk situasi kode yang sulit di mana akses luas perakitan benar-benar diperlukan.