Tingkat Akses di Visual Basic
Tingkat akses elemen yang dideklarasikan tingkat kemampuan untuk mengaksesnya, yaitu kode apa yang memiliki izin untuk membaca atau menulisnya. Tingkat ini ditentukan tidak hanya oleh bagaimana Anda mendeklarasikan elemen itu sendiri, tetapi juga oleh tingkat akses kontainer elemen. Kode yang tidak dapat mengakses elemen yang berisi tidak dapat mengakses salah satu elemen yang terkandung, bahkan yang dinyatakan sebagai Public
. Misalnya, variabel Public
dalam struktur Private
dapat diakses dari dalam kelas yang berisi struktur, tetapi tidak dari luar kelas tersebut.
Publik
Kata kunci Public dalam pernyataan deklarasi menentukan bahwa elemen dapat diakses dari kode di mana saja dalam proyek yang sama, dari proyek lain yang mereferensikan proyek, dan dari perakitan apa pun yang dibangun dari proyek. Kode berikut menunjukkan contoh deklarasi Public
:
Public Class ClassForEverybody
Anda hanya dapat menggunakan Public
di tingkat modul, antarmuka, atau namespace layanan. Ini berarti Anda dapat mendeklarasikan elemen publik pada tingkat file sumber atau namespace layanan, atau di dalam antarmuka, modul, kelas, atau struktur, tetapi tidak dalam prosedur.
Protected
Kata kunci Protected dalam pernyataan deklarasi menentukan bahwa elemen hanya dapat diakses dari dalam kelas yang sama, atau dari kelas yang berasal dari kelas ini. Kode berikut menunjukkan contoh deklarasi Protected
:
Protected Class ClassForMyHeirs
Anda hanya dapat menggunakan Protected
di tingkat kelas, dan hanya saat Anda mendeklarasikan anggota kelas. Ini berarti Anda dapat mendeklarasikan elemen yang dilindungi dalam kelas, tetapi tidak pada tingkat file sumber atau namespace layanan, atau di dalam antarmuka, modul, struktur, atau prosedur.
Teman
Kata kunci Friend dalam pernyataan deklarasi menentukan bahwa elemen dapat diakses dari dalam rakitan yang sama, tetapi tidak dari luar rakitan. Kode berikut menunjukkan contoh deklarasi Friend
:
Friend stringForThisProject As String
Anda hanya dapat menggunakan Friend
di tingkat modul, antarmuka, atau namespace layanan. Ini berarti Anda dapat mendeklarasikan elemen teman pada tingkat file sumber atau ruang nama, atau di dalam antarmuka, modul, kelas, atau struktur, tetapi tidak dalam prosedur.
Teman yang Terlindungi
Kombinasi kata kunci Protected Friend dalam pernyataan deklarasi menentukan bahwa elemen dapat diakses baik dari kelas turunan atau dari dalam perakitan yang sama, atau dari keduanya. Kode berikut menunjukkan contoh deklarasi Protected Friend
:
Protected Friend stringForProjectAndHeirs As String
Anda hanya dapat menggunakan Protected Friend
di tingkat kelas, dan hanya saat Anda mendeklarasikan anggota kelas. Ini berarti Anda dapat mendeklarasikan elemen teman yang dilindungi di kelas, tetapi tidak pada tingkat file sumber atau namespace layanan, atau di dalam antarmuka, modul, struktur, atau prosedur.
Privat
Kata kunci Private dalam pernyataan deklarasi menentukan bahwa elemen hanya dapat diakses dari dalam modul, kelas, atau struktur yang sama. Kode berikut menunjukkan contoh deklarasi Private
:
Private _numberForMeOnly As Integer
Anda dapat menggunakan Private
hanya pada tingkat modul. Ini berarti Anda dapat mendeklarasikan elemen pribadi di dalam modul, kelas, atau struktur, tetapi tidak pada tingkat file sumber atau namespace layanan, di dalam antarmuka, atau dalam prosedur.
Pada tingkat modul, pernyataan Dim
tanpa kata kunci tingkat akses sama dengan deklarasi Private
. Namun, Anda mungkin ingin menggunakan kata kunci Private
untuk membuat kode Anda lebih mudah dibaca dan ditafsirkan.
Dilindungi secara Privat
Kombinasi kata kunci Private Protected dalam pernyataan deklarasi menetapkan bahwa elemen hanya dapat diakses dari dalam kelas yang sama, serta dari kelas turunan yang ditemukan di rakitan yang sama dengan kelas yang memuatnya. Pengubah Private Protected
akses didukung mulai dari Visual Basic 15.5.
Contoh berikut menunjukkan deklarasi Private Protected
:
Private Protected internalValue As Integer
Anda hanya dapat mendeklarasikan elemen Private Protected
di dalam kelas. Anda tidak dapat mendeklarasikannya dalam antarmuka atau struktur, Anda juga tidak dapat mendeklarasikannya pada tingkat file sumber atau namespace layanan, di dalam antarmuka atau struktur, atau dalam prosedur.
Pengubah akses Private Protected
didukung oleh Visual Basic 15.5 dan yang lebih baru. Untuk menggunakannya, Anda menambahkan elemen berikut ke file proyek Visual Basic (*.vbproj). Selama Visual Basic 15.5 atau yang lebih baru diinstal pada sistem Anda, ini memungkinkan Anda memanfaatkan semua fitur bahasa yang didukung oleh versi terbaru dari kompiler Visual Basic:
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
Untuk menggunakan pengubah akses Private Protected
, Anda harus menambahkan elemen berikut ke file proyek Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Untuk informasi selengkapnya, lihat pengaturan versi bahasa Visual Basic.
Pengubah Akses
Kata kunci yang menentukan tingkat akses yang disebut pengubah akses. Tabel berikut membandingkan pengubah akses:
Pengubah akses | Tingkat akses diberikan | Elemen yang dapat Anda deklarasikan dengan tingkat akses ini | Konteks deklarasi tempat Anda dapat menggunakan pengubah ini |
---|---|---|---|
Public |
Tidak dibatasi: Kode apa pun yang dapat melihat elemen publik dapat mengaksesnya |
Antarmuka Modul Kelas Struktur Anggota struktur Prosedur Properti Variabel anggota Konstanta Enumerasi Acara Deklarasi eksternal Delegasikan |
File Sumber Ruang nama Antarmuka Modul Kelas Struktur |
Protected |
Turunan: Kode di kelas yang mendeklarasikan elemen yang dilindungi, atau kelas yang berasal darinya, dapat mengakses elemen |
Antarmuka Kelas Struktur Prosedur Properti Variabel anggota Konstanta Enumerasi Acara Deklarasi eksternal Delegasikan |
Kelas |
Friend |
Rakitan: Kode di rakitan yang mendeklarasikan elemen teman dapat mengaksesnya |
Antarmuka Modul Kelas Struktur Anggota struktur Prosedur Properti Variabel anggota Konstanta Enumerasi Acara Deklarasi eksternal Delegasikan |
File Sumber Ruang nama Antarmuka Modul Kelas Struktur |
Protected Friend |
Persatuan Protected dan Friend :Kode di kelas yang sama atau perakitan yang sama dengan elemen teman yang dilindungi, atau dalam kelas apa pun yang berasal dari kelas elemen, dapat mengaksesnya |
Antarmuka Kelas Struktur Prosedur Properti Variabel anggota Konstanta Enumerasi Acara Deklarasi eksternal Delegasikan |
Kelas |
Private |
Konteks deklarasi: Kode dalam jenis yang mendeklarasikan elemen pribadi, termasuk kode dalam jenis yang terkandung, dapat mengakses elemen |
Antarmuka Kelas Struktur Anggota struktur Prosedur Properti Variabel anggota Konstanta Enumerasi Acara Deklarasi eksternal Delegasikan |
Modul Kelas Struktur |
Private Protected |
Kode di kelas yang mendeklarasikan elemen yang dilindungi pribadi, atau kode dalam kelas turunan yang ditemukan di rakitan yang sama dengan kelas bas. | Antarmuka Kelas Struktur Prosedur Properti Variabel anggota Konstanta Enumerasi Acara Deklarasi eksternal Delegasikan |
Kelas |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk