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 Public 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á 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

Viz také