A Visual Basic programozási nyelv

Absztrakt adattípusok

1. Szintaxis

A Type utasítással struktúrákat hozhatunk létre, de ezt csak kód modul deklarációs részében tehetjük. (Az így létrehozott típusok mindig globálisak).

Type Person Nev As String Cím As String Ber As Currency End Type

Az új típus tartalmazhat tömböket (dinamikus nem lehet) és saját típusokat is. Saját típus szerepelhet eljárás paramétereként és privát függvény visszatérési értékeként is.

Objektum publikus függvényeinek, eljárásainak paramétereként, illetve visszaadott értékeként saját típus nem használható. Amennyiben a rekord átadása elkerülhetetlen, a rekordot osztályként kell megvalósítani (az osztály definíciója a rekord típus változóinak megfelelő publikus változókból álljon) amelyet már tetszőleges függvény / eljárás használhat paraméterként vagy visszatérési értékként.

2. Láthatósági szabályok

A Visual Basicben kétféle érvényességi kör van: eljárásszintű és modulszintű.

Alporgramszintű: A változó annak az alprogramnak a sajátja amelyben deklarálva van, kívülről nem érhetjük el. A deklarációs kulcsszó lehet Dim vagy Static. Az előbbi esetén az alprogram lefutása után a változó megszűnik, az utóbbi esetben pedig nem, azaz a memóriában marad, és az alprogram újbóli hívásánál megmarad az értéke. (Ha az alprogram minden változóját statikussá akarjuk tenni, akkor írjuk az alprogram neve elé a Static kulcsszót).

Modulszintű: Itt deklarálhatunk private és protected változókat is. Private esetben a változó csak az őt tartalmazó modulból érhető el, public esetben pedig bárhonnan.

3. Struktúrák VB.NET-ben

A felhasználó által definiált típusokat nem a Type kulcsszóval, hanem a Structure kulcsszóval kell definiálni.

[{ Public | Protected | Friend | Protected Friend | Private }] Structure name [ variabledeclarations ] [ proceduredeclarations ] End Structure

A struktúrák nem hivatkozási típusok, hanem értéktípusok.

Public Structure Person Public ID As Integer Public Name As String End Structure Dim person As Person person.ID = 101 person.Name = "Tom Grant" Dim person2 As Person person2 = person

Egy struktúra adattagjának nem adhatunk értéket a deklarálásakor.
Az adattagot a struktúra egy paraméterezett konstruktorával inicializálhatjuk, vagy a struktúra egy példányának létrehozása után adhatunk értéket a tagnak.
Struktúraváltozót hozzárendelhetünk egy ugyanolyan típusú másik változóhoz, és az összes tag is másolva lesz.
Struktúrák összehasonlításakor azonban egyenként kell a tagokat összehasonlítani.