Bagikan melalui


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