Postupy: Deklarace struktury (Visual Basic)
Deklaraci struktury zahájíte příkazem Structurea ukončíte ho příkazem End Structure
. Mezi těmito dvěma příkazy musíte deklarovat alespoň jeden prvek . Prvky můžou být libovolného datového typu, ale alespoň jeden musí být buď nesdílenou proměnnou, nebo nesdílenou, neinstanční událostí.
V deklaraci struktury nelze inicializovat žádné prvky struktury. Když deklarujete proměnnou typu struktury, přiřadíte k prvkům hodnoty tak, že k nim přistupujete prostřednictvím proměnné.
Diskuzi o rozdílech mezi strukturami a třídami najdete v tématu Struktury a třídy.
Pro demonstrační účely zvažte situaci, kdy chcete sledovat jméno zaměstnance, telefonní linku a plat. Struktura umožňuje tuto akci provést v jedné proměnné.
Deklarace struktury
Vytvořte počáteční a koncové příkazy pro strukturu.
Úroveň přístupu struktury můžete zadat pomocí klíčového slova Veřejné, Chráněné, Přítelnebo Soukromé nebo můžete povolit výchozí
Public
.Private Structure employee End Structure
Přidejte prvky do těla struktury.
Struktura musí mít alespoň jeden prvek. Musíte deklarovat každý prvek a zadat pro něj úroveň přístupu. Pokud použijete příkaz Dim bez klíčových slov, přístupnost se nastaví na výchozí hodnotu
Public
.Private Structure employee Public givenName As String Public familyName As String Public phoneExtension As Long Private salary As Decimal Public Sub giveRaise(raise As Double) salary *= raise End Sub Public Event salaryReviewTime() ' Method to raise the event Public Sub TriggerSalaryReview() RaiseEvent salaryReviewTime() End Sub End Structure
Pole
salary
v předchozím příkladu jePrivate
, což znamená, že je nepřístupné mimo strukturu, a to i z obsahující třídy. Nicméně,giveRaise
procedura jePublic
, takže ji lze volat z vnějšku struktury. Podobně můžete vyvolatsalaryReviewTime
událost nepřímo voláním metody v rámci struktury, která ji vyvolá. Například:Public Sub TriggerSalaryReview() RaiseEvent salaryReviewTime() End Sub
To vám umožní řídit, jak a kdy je událost vyvolána, a zároveň udržovat událost nepřístupnou přímo před strukturou.
Kromě proměnných,
Sub
procedur a událostí můžete také definovat konstanty,Function
procedury a vlastnosti ve struktuře. Jako výchozí vlastnost můžete určit maximálně jednu vlastnost, pokud má alespoň jeden argument. Událost můžete zpracovat pomocí procedury SharedSub
. Další informace naleznete v tématu Postupy: Deklarace a volání výchozí vlastnosti v jazyce Visual Basic.