Sdílet prostřednictvím


Postup: skrytí zděděné proměnné (Visual Basic)

Odvozená třída dědí všechny definice základní třída.Pokud chcete definovat proměnné pomocí stejného názvu jako element základní třídy, můžete skrýt, nebo stín, když definujete proměnné v odvozené třídě základní třídou prvku.Pokud tento postup kód v odvozené třídě přistupuje k proměnné, pokud výslovně obchází stínového provozu mechanismu.

Jiný důvod, že chcete skrýt zděděné proměnné je ochrana proti revize základní třídy.Základní třídy mohou podstoupit změnu, která změní na prvek, který se dědí.V tomto případě Shadows modifikátor vynutí odkazy z převedeno do vaší proměnné místo prvku základní třídy odvozené třídy.

Skrýt zděděné proměnné

  1. Musí být na úrovni třídy (mimo jakýkoliv postup) je deklarována proměnná, kterou chcete skrýt.V opačném případě není třeba jej skrýt.

  2. V odvozené třídě, zápis Dim prohlášení (Visual Basic) deklarování proměnné.Použijte stejný název jako zděděná proměnné.

  3. Zahrnout Stíny (Visual Basic) klíčové slovo v prohlášení.

    Pokud kód v odvozené třídě odkazuje na název proměnné, kompilátor řeší odkaz na proměnné.

    Následující příklad ukazuje stínový zděděné proměnné.

    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
    

    V předchozím příkladu deklaruje proměnnou shadowString v základní třídě a stínů v odvozené třídě.Postup showStrings v odvozené třídě Zobrazí verzi stínového provozu řetězce při název shadowString nejsou kvalifikované.Zobrazí verzi stínovaný při shadowString je kvalifikovaný s MyBase klíčové slovo.

Robustní programování

Stínový provoz představuje více než jednu verzi proměnné se stejným názvem.Při výpisu kódu odkazuje název proměnné, verze, které řeší kompilátor odkaz závisí na faktorech, jako je například umístění příkazu kódu a přítomnost opravňující řetězec.To můžete zvýšit riziko ve vztahu k nezamýšleným verzi stínovaný proměnné.Toto riziko lze snížit pomocí plně kvalifikované všechny odkazy na stínovaný proměnné.

Viz také

Úkoly

Postup: skrytí proměnné se stejným názvem jako proměnné (Visual Basic)

Jak: přístup k proměnné skryté odvozené třídy (Visual Basic)

Referenční dokumentace

Přepíše (Visual Basic)

Koncepty

Odkazy na prvky deklarované (Visual Basic)

Stínový provoz v jazyce Visual Basic

Rozdíly mezi stínování a přepsání (Visual Basic)

Mi, My, MyBase a MyClass v jazyce Visual Basic

Základy dědičnosti (Visual Basic)