Class – příkaz (Visual Basic)
Deklaruje název třídy a zavádí definici proměnných, vlastností, událostí a procedur, které třída obsahuje.
Syntaxe
[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] [ Partial ] _
Class name [ ( Of typelist ) ]
[ Inherits classname ]
[ Implements interfacenames ]
[ statements ]
End Class
Součástky
Pojem | definice |
---|---|
attributelist |
Nepovinné. Viz seznam atributů. |
accessmodifier |
Nepovinné. Může to být jedna z následujících možností: - Public - Protected - Friend - Private - Protected Friend - Private Protected Viz úrovně Accessu v jazyce Visual Basic. |
Shadows |
Nepovinné. Podívejte se na stíny. |
MustInherit |
Nepovinné. Viz MustInherit. |
NotInheritable |
Nepovinné. Viz NotInheritable. |
Partial |
Nepovinné. Označuje částečnou definici třídy. Viz část. |
name |
Povinný: Název této třídy. Viz Deklarované názvy elementů. |
Of |
Nepovinné. Určuje, že se jedná o obecnou třídu. |
typelist |
Vyžaduje se, pokud použijete klíčové slovo Of . Seznam parametrů typu pro tuto třídu Viz seznam typů. |
Inherits |
Nepovinné. Označuje, že tato třída dědí členy jiné třídy. Viz Příkaz Zdědědí. |
classname |
Vyžaduje se, pokud použijete Inherits příkaz. Název třídy, ze které je tato třída odvozena. |
Implements |
Nepovinné. Označuje, že tato třída implementuje členy jednoho nebo více rozhraní. Viz Implements – příkaz. |
interfacenames |
Vyžaduje se, pokud použijete Implements příkaz. Názvy rozhraní, která tato třída implementuje. |
statements |
Nepovinné. Příkazy, které definují členy této třídy. |
End Class |
Povinný: Ukončí definici Class . |
Poznámky
Příkaz Class
definuje nový datový typ. Třída je základním stavebním blokem objektově orientovaného programování (OOP). Další informace naleznete v tématu Objekty a třídy.
Můžete použít Class
pouze na úrovni oboru názvů nebo modulu. To znamená, že kontext deklarace třídy musí být zdrojovým souborem, oborem názvů, třídou, strukturou, modulem nebo rozhraním a nesmí to být procedura nebo blok. Další informace naleznete v tématu Kontexty deklarace a výchozí úrovně přístupu.
Každá instance třídy má životnost nezávislou na všech ostatních instancích. Tato doba života začíná, když je vytvořena klauzulí New Operator nebo funkcí, jako CreateObjectje . Končí, když jsou všechny proměnné odkazující na instanci nastaveny na Nothing nebo na instance jiných tříd.
Třídy ve výchozím nastavení mají přístup spřáteli . Jejich úrovně přístupu můžete upravit pomocí modifikátorů přístupu. Další informace naleznete v tématu Úrovně přístupu v jazyce Visual Basic.
Pravidla
Vnoření. Jednu třídu můžete definovat v rámci jiné. Vnější třída se nazývá obsahující třída a vnitřní třída se nazývá vnořená třída.
Dědičnosti. Pokud třída používá příkaz Inherits, můžete zadat pouze jednu základní třídu nebo rozhraní. Třída nemůže dědit z více než jednoho prvku.
Třída nemůže dědit z jiné třídy s přísnější úrovní přístupu. Třída například
Public
nemůže dědit zFriend
třídy.Třída nemůže dědit z vnořené třídy.
Provádění. Pokud třída používá Implements Statement, musíte implementovat každý člen definovaný každým rozhraním, které zadáte v
interfacenames
. Výjimkou je reimplementace člena základní třídy. Další informace najdete v tématu Reimplementation v implementacích.Výchozí vlastnost. Třída může jako výchozí vlastnost zadat maximálně jednu vlastnost. Další informace najdete v tématu Výchozí.
Chování
Úroveň přístupu V rámci třídy můžete deklarovat každý člen s vlastní úrovní přístupu. Členové třídy mají výchozí veřejný přístup s výjimkou proměnných a konstant, které mají výchozí privátní přístup. Pokud má třída více omezený přístup než jeden ze svých členů, má přednost úroveň přístupu ke třídě.
Rozsah. Třída je v oboru v celém oboru názvů, třídy, struktury nebo modulu.
Rozsah každého člena třídy je celá třída.
Životnost: Visual Basic nepodporuje statické třídy. Funkční ekvivalent statické třídy poskytuje modul. Další informace najdete v tématu Příkaz modulu.
Členové třídy mají životnost v závislosti na tom, jak a kde se deklarují. Další informace naleznete v tématu Životnost v jazyce Visual Basic.
Kvalifikace. Kód mimo třídu musí kvalifikovat název člena s názvem této třídy.
Pokud kód uvnitř vnořené třídy vytvoří nekvalifikovaný odkaz na programovací prvek, Jazyk Visual Basic vyhledá prvek nejprve ve vnořené třídě, pak v jeho obsahující třídě a tak dále až k nejkrajnější prvek obsahující prvek.
Třídy a moduly
Tyto prvky mají mnoho podobností, ale existují i některé důležité rozdíly.
Terminologie. Předchozí verze jazyka Visual Basic rozpoznávají dva typy modulů: moduly tříd (soubory .cls) a standardní moduly (soubory .bas). Aktuální verze volá tyto třídy a moduly v uvedeném pořadí.
Sdílené členy. Můžete určit, jestli je členem třídy sdílený člen nebo člen instance.
Orientace objektu Třídy jsou objektově orientované, ale moduly nejsou. Můžete vytvořit jednu nebo více instancí třídy. Další informace naleznete v tématu Objekty a třídy.
Příklad
Následující příklad používá Class
příkaz k definování třídy a několika členů.
Class BankAccount
Shared interestRate As Decimal
Private accountBalance As Decimal
Public holdOnAccount As Boolean = False
Public ReadOnly Property Balance() As Decimal
Get
Return accountBalance
End Get
End Property
Public Sub PostInterest()
accountBalance = accountBalance * (1 + interestRate)
End Sub
Public Sub PostDeposit(ByVal amountIn As Decimal)
accountBalance = accountBalance + amountIn
End Sub
Public Sub PostWithdrawal(ByVal amountOut As Decimal)
accountBalance = accountBalance - amountOut
End Sub
End Class