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 tvoří.
Syntax
[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] [ Partial ] _
Class name [ ( Of typelist ) ]
[ Inherits classname ]
[ Implements interfacenames ]
[ statements ]
End Class
Součásti
| Pojem | Definice |
|---|---|
attributelist |
Nepovinný parametr. Viz Seznam atributů. |
accessmodifier |
Nepovinný parametr. Může to být jedna z následujících možností: - Veřejné - Chráněné - Přítel - Soukromé - Protected Friend - Private Protected Viz Úrovně přístupu v Visual Basic. |
Shadows |
Nepovinný parametr. Viz Stíny. |
MustInherit |
Nepovinný parametr. Viz MustInherit. |
NotInheritable |
Nepovinný parametr. Viz NotInheritable. |
Partial |
Nepovinný parametr. Označuje částečnou definici třídy. Viz Část. |
name |
Povinná hodnota. Název této třídy Viz Deklarované názvy elementů. |
Of |
Nepovinný parametr. 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ý parametr. Označuje, že tato třída dědí členy jiné třídy. Viz Příkaz Inherits. |
classname |
Vyžaduje se, pokud použijete Inherits příkaz . Název třídy, ze které je tato třída odvozena. |
Implements |
Nepovinný parametr. 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ý parametr. Příkazy, které definují členy této třídy. |
End Class |
Povinná hodnota. Ukončí Class definici. |
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 najdete v tématu Objekty a třídy.
Můžete použít pouze Class na úrovni oboru názvů nebo modulu. To znamená, že kontext deklarace pro třídu musí být zdrojový soubor, obor názvů, třída, struktura, modul nebo rozhraní a nemůže být procedurou nebo blokem. Další informace najdete 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á vytvořením klauzulí New Operator nebo funkcí, jako je CreateObject . Končí tím, že všechny proměnné odkazující na instanci byly nastaveny na Nothing nebo na instance jiných tříd.
Třídy ve výchozím nastavení mají přístup s přáteli. Jejich úrovně přístupu můžete upravit pomocí modifikátorů přístupu. Další informace najdete v tématu Úrovně přístupu v Visual Basic.
Pravidla
Vnoření. Jednu třídu můžete definovat v rámci jiné třídy. 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 restriktivnější úrovní přístupu. Například třída nemůže
Publicdědit zFriendtřídy.Třída nemůže dědit z vnořené třídy.
Provádění. Pokud třída používá příkaz Implements, je nutné implementovat všechny členy definované každým rozhraním, které zadáte v
interfacenames. Výjimkou je reimplementace členu základní třídy. Další informace najdete v tématu "Reimplementation" v části Implements.Výchozí vlastnost. Třída může jako výchozí vlastnost zadat nejdél 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. Ve výchozím nastavení mají členové třídy veřejný přístup s výjimkou proměnných a konstant, které mají výchozí privátní přístup. Pokud má třída omezenější přístup než jeden ze svých členů, má přednost úroveň přístupu třídy.
Rozsah. Třída je v oboru v celém svém obsahujícím oboru názvů, třídě, struktuře nebo modulu.
Obor každého členu třídy je celá třída.
Životnost. Visual Basic nepodporuje statické třídy. Funkční ekvivalent statické třídy je poskytován modulem. Další informace najdete v tématu Příkaz modulu.
Členy třídy mají životnost v závislosti na tom, jak a kde jsou deklarovány. Další informace najdete v tématu Životnost v Visual Basic.
Kvalifikace. Kód mimo třídu musí kvalifikovat název členu s názvem této třídy.
Pokud kód uvnitř vnořené třídy vytvoří nekvalifikovaný odkaz na programovací prvek, Visual Basic vyhledá nejprve prvek ve vnořené třídě, pak ve své obsahující třídě a tak dále na vnější 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 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, zda je člen třídy sdíleným členem nebo členem 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 accountNumber As String
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