Jak: ukrywanie zmiennej dziedziczone (Visual Basic)
Klasa pochodna dziedziczy wszystkie definicje swojej klasy bazowej.Jeśli chcesz zdefiniować zmienną, używając tej samej nazwy jako element klasy podstawowej, można ukryć, lub Cień, że element klasy podstawowej podczas definiowania zmienna w klasie pochodnej.Jeśli to zrobisz, kod w klasie pochodnej otwiera zmienna, chyba że wyraźnie pomijany przesłaniania mechanizmu.
Innym powodem chcesz ukryć zmiennej dziedziczone jest ochrona przeciwko rewizji klasy podstawowej.Klasa podstawowa może być poddawane są zmiany, która modyfikuje element, które są dziedziczone.Jeśli tak się stanie, Shadows modyfikator wymusza odwołań z klasy pochodnej, która jest rozpoznawana jako zmienna, zamiast do elementu klasy podstawowej.
Aby ukryć zmiennej dziedziczone
Upewnij się, że zmienna, który chcesz ukryć jest zadeklarowane na poziomie klasy (poza jakiejkolwiek procedury).W przeciwnym razie nie trzeba go ukryć.
Wewnątrz klasy pochodnej, należy napisać Dim instrukcji (Visual Basic) deklarowanie zmiennej użytkownika.Użyj taką samą nazwę jak zmienna dziedziczone.
Zawiera Cienie (Visual Basic) słowa kluczowego w zgłoszeniu.
Gdy kod w klasie pochodnej odnosi się do nazwy zmiennej, kompilator usuwa odwołanie do zmiennej użytkownika.
Poniższy przykład ilustruje przesłanianie zmiennej dziedziczone.
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
Poprzedni przykład deklaruje zmienną shadowString w klasie bazowej i cieni ją w klasie pochodnej.Procedura showStrings w klasie pochodnej Wyświetla przesłaniania wersji łańcucha po nazwę shadowString nie kwalifikuje się.Następnie wyświetla tekst z cieniem wersji podczas shadowString jest kwalifikowaną z MyBase słowa kluczowego.
Stabilne programowanie
Przesłanianie wprowadzono więcej niż jedną wersję zmiennej o tej samej nazwie.Instrukcję kodu odnosi się do nazwy zmiennej, wersji, do których kompilator usuwa odwołanie, zależy od czynników, takich jak położenie instrukcji kodu i obecność dostosowywanego ciąg.Zwiększy to ryzyko odnoszące się do niezamierzonego wersję zmiennej cieniowany.Aby obniżyć ryzyko, pełni kwalifikujących się wszystkie odwołania do zmiennej cieniowany.
Zobacz też
Zadania
Jak: ukrywanie zmiennej z taką samą nazwę jak zmienna (Visual Basic)
Jak: dostęp do zmiennej ukryte w klasie pochodnej (Visual Basic)
Informacje
Koncepcje
Odniesienia do zadeklarowanych elementów (Visual Basic)
Cieniowanie w języku Visual Basic
Różnice między cieniowanie i przesłanianie (Visual Basic)