Nasıl yapılır: Devralınmış Değişkeni Gizleme (Visual Basic)
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 türetilmiş sınıftan başvuruların temel sınıf öğesi yerine değişkeninize çözümlenmesine 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 Class
Yukarıdaki örnek, temel sınıfta değişkeni
shadowString
bildirir ve türetilmiş sınıfta bunu gölgeler. Türetilmiş sınıftaki yordamShowStrings
, adshadowString
nitelenmediğinde dizenin gölgeli sürümünü görüntüler. Ardından anahtar sözcükleMyBase
nitelendiğindeshadowString
gölgeli sürümü 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 bkz.
- Bildirilmiş Öğelere Başvurular
- Visual Basic'te Gölgelendirme
- Gölgeleme ve Geçersiz Kılma Arasındaki Farklar
- Nasıl yapılır: Değişkeninizle Aynı Adı Taşıyan Bir Değişkeni Gizleme
- Nasıl yapılır: Türetilmiş Sınıf Tarafından Gizlenen Bir Değişkene Erişme
- Overrides
- Me, My, MyBase ve MyClass
- Devralma Temelleri