Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Türetilmiş bir sınıf, temel sınıfının tüm tanımlarını devralır. Temel sınıfın öğesiyle aynı adı kullanarak bir değişken tanımlamak istiyorsanız, türetilmiş sınıfta değişkeninizi tanımlarken bu temel sınıf öğesini gizleyebilir veya gölgeleyebilirsiniz. Bunu yaparsanız, türetilmiş sınıftaki kod, gölgeleme mekanizmasını açıkça atlamadığı sürece değişkeninize erişir.
Devralınan bir değişkeni gizlemek istemenin bir diğer nedeni de temel sınıf düzeltmesine karşı koruma sağlamaktır. Temel sınıf, devraldığınız öğeyi değiştiren bir değişikliğe uğrayabilir. Bu durumda, Shadows değiştirici referansların, temel sınıf öğesi yerine, türetilmiş sınıftan sizin değişkeninize çözümlenmesini zorlar.
Devralınan bir değişkeni gizlemek için
Gizlemek istediğiniz değişkenin sınıf düzeyinde (herhangi bir yordamın dışında) bildirildiğinden emin olun. Aksi takdirde, gizlemeniz gerekmez.
Türetilmiş sınıfınızın içine değişkeninizi belirten bir Dim Deyimi yazın. Devralınan değişkenin adıyla aynı adı kullanın.
Bildirime Shadows anahtar sözcüğünü ekleyin.
Türetilmiş sınıftaki kod değişken adına başvurduğunda, derleyici değişkeninize başvuruyu çözümler.
Aşağıdaki örnekte devralınan değişkenin gölgelenmesi gösterilmektedir:
Public Class ShadowBaseClass Public shadowString As String = "This is the base class string." End Class Public Class ShadowDerivedClass Inherits ShadowBaseClass Public Shadows shadowString As String = "This is the derived class string." Public Sub ShowStrings() Dim s As String = $"Unqualified shadowString: {shadowString}{vbCrLf}MyBase.shadowString: {MyBase.shadowString}" MsgBox(s) End Sub End ClassYukarıdaki örnek, temel sınıfta değişkeni
shadowStringbildirir ve türetilmiş sınıfta bunu gölgeler. Türetilmiş sınıftaki yordamShowStrings, adshadowStringnitelendirilmediğinde dizenin gölgeleme sürümünü görüntüler. Ardından,shadowStringöğesiMyBaseanahtar sözcüğüyle nitelendiğinde gölgeli sürümünü görüntüler.
Sağlam programlama
Gölgeleme, bir değişkenin aynı ada sahip birden fazla sürümünü tanıtır. Bir kod deyimi değişken adına başvurduğunda, derleyicinin başvuruyu çözümlediği sürüm, kod deyiminin konumu ve uygun bir dizenin varlığı gibi faktörlere bağlıdır. Bu, gölgeli değişkenin istenmeyen bir sürümüne başvurma riskini artırabilir. Gölgeli bir değişkene yapılan tüm başvuruları tam olarak niteleyerek bu riski düşürebilirsiniz.
Ayrıca bakınız
- Bildirilen Elemanlara Referanslar
- Visual Basic'te Gölgelendirme
- Gölgeleme ve Geçersiz Kılma Arasındaki Farklar
- Nasıl Yapılır: Değişkeninizle Aynı Ada Sahip Bir Değişkeni Nasıl Gizlersiniz
- Nasıl yapılır: Türetilmiş Bir Sınıf tarafından Gizlenen Değişkene Erişme
- Geçersiz kılınır
- Ben, My, MyBase ve MyClass
- Devralma Temelleri