Visual Basic'de Erişim Düzeyleri
Bildirilen bir öğenin erişim düzeyi , erişim olanağının kapsamıdır; yani hangi kodun okuma veya yazma iznine sahip olduğudur. Bu yalnızca öğenin kendisini nasıl bildirdiğinize değil, aynı zamanda öğenin kapsayıcısının erişim düzeyine göre de belirlenir. İçeren bir öğeye erişemeyen kod, olarak Public
bildirilenler bile, içerdiği öğelerden hiçbirine erişemez. Örneğin, bir yapıdaki bir Public
Private
değişkene, yapıyı içeren sınıfın içinden erişilebilir, ancak bu sınıfın dışından erişilemez.
Genel
Bildirim deyimindeki Public anahtar sözcüğü, öğeye aynı projenin herhangi bir yerindeki koddan, projeye başvuran diğer projelerden ve projeden oluşturulan herhangi bir derlemeden erişilebileceğini belirtir. Aşağıdaki kod bir örnek Public
bildirimi gösterir:
Public Class ClassForEverybody
Yalnızca modül, arabirim veya ad alanı düzeyinde kullanabilirsiniz Public
. Bu, bir ortak öğeyi bir kaynak dosya veya ad alanı düzeyinde ya da bir arabirim, modül, sınıf veya yapı içinde bildirebileceğiniz ancak yordamda bildirilmediği anlamına gelir.
Korumalı
Bildirim deyimindeki Protected anahtar sözcüğü, öğesine yalnızca aynı sınıftan veya bu sınıftan türetilen bir sınıftan erişilebileceğini belirtir. Aşağıdaki kod bir örnek Protected
bildirimi gösterir:
Protected Class ClassForMyHeirs
Yalnızca sınıf düzeyinde ve yalnızca bir sınıfın üyesini bildirdiğinizde kullanabilirsiniz Protected
. Bu, bir sınıfta korumalı bir öğe bildirebileceğiniz, ancak bir kaynak dosya veya ad alanı düzeyinde ya da bir arabirim, modül, yapı veya yordam içinde bildirebileceğiniz anlamına gelir.
Arkadaş
Bildirim deyimindeki Friend anahtar sözcüğü, öğeye aynı derlemenin içinden erişilebileceğini, ancak derlemenin dışından erişilebileceğini belirtir. Aşağıdaki kod bir örnek Friend
bildirimi gösterir:
Friend stringForThisProject As String
Yalnızca modül, arabirim veya ad alanı düzeyinde kullanabilirsiniz Friend
. Bu, bir kaynak dosya veya ad alanı düzeyinde veya bir arabirim, modül, sınıf veya yapı içinde bir arkadaş öğesi bildirebileceğiniz, ancak yordamda bildirilmediği anlamına gelir.
Protected Friend
Bildirim deyimindeki Protected Friend anahtar sözcük bileşimi, öğeye türetilmiş sınıflardan veya aynı derleme içinden ya da her ikisinden de erişilebileceğini belirtir. Aşağıdaki kod bir örnek Protected Friend
bildirimi gösterir:
Protected Friend stringForProjectAndHeirs As String
Yalnızca sınıf düzeyinde ve yalnızca bir sınıfın üyesini bildirdiğinizde kullanabilirsiniz Protected Friend
. Bu, korumalı bir arkadaş öğesini bir sınıfta bildirebileceğiniz, ancak bir kaynak dosya veya ad alanı düzeyinde ya da bir arabirim, modül, yapı veya yordam içinde bildirebileceğiniz anlamına gelir.
Özel
Bildirim deyimindeki Private anahtar sözcüğü, öğeye yalnızca aynı modül, sınıf veya yapı içinden erişilebileceğini belirtir. Aşağıdaki kod bir örnek Private
bildirimi gösterir:
Private _numberForMeOnly As Integer
Yalnızca modül düzeyinde kullanabilirsiniz Private
. Bu, bir modül, sınıf veya yapı içinde özel bir öğe bildirebileceğiniz, ancak bir kaynak dosya veya ad alanı düzeyinde, arabirim içinde veya yordamda bildirilmediği anlamına gelir.
Modül düzeyinde, Dim
herhangi bir erişim düzeyi anahtar sözcüğü olmayan deyimi bir Private
bildirime eşdeğerdir. Ancak kodunuzun okunmasını ve yorumlanmasını kolaylaştırmak için anahtar sözcüğünü Private
kullanmak isteyebilirsiniz.
Private Protected
Bildirim deyimindeki Private Protected anahtar sözcük bileşimi, öğeye yalnızca aynı sınıfın içinden ve aynı derlemede bulunan türetilmiş sınıflardan erişilebileceğini belirtir. Private Protected
Erişim değiştirici, Visual Basic 15.5 ile başlayarak desteklenir.
Aşağıdaki örnekte bir Private Protected
bildirim gösterilmektedir:
Private Protected internalValue As Integer
Bir öğeyi yalnızca bir Private Protected
sınıfın içinde bildirebilirsiniz. Bunu bir arabirim veya yapı içinde bildiremezsiniz veya bir kaynak dosya veya ad alanı düzeyinde, bir arabirim veya yapı içinde ya da bir yordamda bildiremezsiniz.
Private Protected
Erişim değiştirici, Visual Basic 15.5 ve üzeri tarafından desteklenir. Bunu kullanmak için aşağıdaki öğeyi Visual Basic proje (*.vbproj) dosyanıza eklersiniz. Sisteminizde Visual Basic 15.5 veya üzeri yüklü olduğu sürece, Visual Basic derleyicisinin en son sürümü tarafından desteklenen tüm dil özelliklerinden yararlanmanıza olanak tanır:
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
Erişim değiştiricisini Private Protected
kullanmak için Visual Basic proje (*.vbproj) dosyanıza aşağıdaki öğeyi eklemeniz gerekir:
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Daha fazla bilgi için bkz . Visual Basic dil sürümünü ayarlama.
Erişim Değiştiricileri
Erişim düzeyini belirten anahtar sözcüklere erişim değiştiricileri adı verilir. Aşağıdaki tablo erişim değiştiricilerini karşılaştırır:
Erişim değiştiricisi | Erişim düzeyi verildi | Bu erişim düzeyiyle bildirebileceğiniz öğeler | Bu değiştiriciyi kullanabileceğiniz bildirim bağlamı |
---|---|---|---|
Public |
Sınırsız: Ortak öğeyi görebilen tüm kodlar bu öğeye erişebilir |
Arabirimler Modül Sınıflar Yapılar Yapı üyeleri Yordamlar Properties Üye değişkenleri Sabitler Listelemeler Ekinlikler Dış bildirimler Temsilciler |
Kaynak dosya Ad Alanı Arabirim Modül Sınıf Yapı |
Protected |
Türetme: Korumalı bir öğeyi veya ondan türetilmiş bir sınıfı bildiren sınıftaki kod öğesine erişebilir |
Arabirimler Sınıflar Yapılar Yordamlar Properties Üye değişkenleri Sabitler Listelemeler Ekinlikler Dış bildirimler Temsilciler |
Sınıf |
Friend |
Derleme: Derlemede bir arkadaş öğesinin erişebileceğini bildiren kod |
Arabirimler Modül Sınıflar Yapılar Yapı üyeleri Yordamlar Properties Üye değişkenleri Sabitler Listelemeler Ekinlikler Dış bildirimler Temsilciler |
Kaynak dosya Ad Alanı Arabirim Modül Sınıf Yapı |
Protected Friend |
ve Friend birleşimleriProtected :Korumalı bir arkadaş öğesiyle aynı sınıftaki veya aynı derlemedeki veya öğenin sınıfından türetilen herhangi bir sınıf içindeki koda erişebilir |
Arabirimler Sınıflar Yapılar Yordamlar Properties Üye değişkenleri Sabitler Listelemeler Ekinlikler Dış bildirimler Temsilciler |
Sınıf |
Private |
Bildirim bağlamı: Kapsanan türler içindeki kod da dahil olmak üzere özel bir öğeyi bildiren türdeki kod, öğesine erişebilir |
Arabirimler Sınıflar Yapılar Yapı üyeleri Yordamlar Properties Üye değişkenleri Sabitler Listelemeler Ekinlikler Dış bildirimler Temsilciler |
Modül Sınıf Yapı |
Private Protected |
Özel korumalı öğeyi bildiren sınıftaki kod veya bas sınıfıyla aynı derlemede bulunan türetilmiş bir sınıftaki kod. | Arabirimler Sınıflar Yapılar Yordamlar Properties Üye değişkenleri Sabitler Listelemeler Ekinlikler Dış bildirimler Temsilciler |
Sınıf |