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

  1. 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.

  2. 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.

  3. 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 yordam ShowStrings , ad shadowString nitelenmediğinde dizenin gölgeli sürümünü görüntüler. Ardından anahtar sözcükle MyBase nitelendiğinde shadowString 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.