K instančnímu členu třídy (proměnná, vlastnost, metoda, událost) lze přistupovat pouze přes platnou instanci třídy, tj. třídu vytvořenou pomocí klíčového slova New. Ke statickému členu třídy lze přistupovat bez nutnosti vytvoření instance třídy (nelze k němu přistupovat přes instanci třídy). V C# je pro statický člen použito klíčové slovo static, ve VB.NET klíčové slovo Shared.
Public Class Person
'Instanční proměnná třídy.
Public Name As String
End Class
'Nelze ani přeložit, k instančním členům je přístup
'pouze přes platnou instanci.
Person.Name = "Ondřej"
'Takto je to správně:
Dim o As New Person
o.Name = "Ondřej"
Public Class Person2
'Statická proměnná třídy.
Public Shared Name As String
End Class
'K proměnné Name lze přistupovat bez nutnosti
'vytvoření instance třídy.
Person2.Name = "Ondřej"
Ve VB.NET dále existuje klíčové slovo Static, které slouží k deklarování statických proměnných v rámci metody. Toto je mimochodem jedna z mnoha věcí které C# postrádá...
Public Class Counter
Public Sub Increment()
'Hodnota statické proměnné v rámci metody je uchována
'i po ukončení metody.
Static n As Integer
n += 1
End Sub
End Class
Statická třída (ve VB.NET známá jako modul, Module) je třída, jejíž všechny členy jsou statické.
|