Sdílet prostřednictvím


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 z Friend 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

Viz také