object
Een object is een data structuur die voorziet in eigenschappen, variabelen en methoden en gebeurtenissen.
Ieder object is verbonden met een
Class, die het gedrag van deze eigenschappen, variabelen, methodes en gebeurtenissen beschrijft.
Een
Class kan gedefiniëerd zijn ofwel in
Gambas als e.g. the
Class "
TextBox"
ofwel door de programmeur die een nieuwe
Class definiëert in zijn project.
Een class heeft nooit een adres. Een class kan niet weergegeven worden.
Objecten hebben een runtime address. Dit adres kan getoond worden in het "watch" venster.
Ook de leden van het object kunnen daar weergegeven worden.
Voorbeelden
In dit voorbeeld is "
TextBox" een
Class.
"TextBox1" is een object, gecreëerd door de IDE.
"hTextBox1" is een verwijzing naar een object van het type
TextBox.
Later in dit voorbeeld wordt de verwijzing naar de in de IDE gemaakte "TextBox1" gekopieerd naar "hTextBox1".
In het watch venster van de IDE tonen beide verwijzingen hetzelfde hexadecimale adres.
Ook de leden van het object kunnen weergegeven worden in het watch venster.
Expression
|
Value
|
TextBox
|
ERROR: Unknown ...
|
TextBox1
|
(TextBox 0x81099c0)
|
hTextBox1
|
(TextBox 0x81099c0)
|
hTextBox1.Text
|
"Set hTextBox1"
|
PUBLIC SUB Button1_Click()
DIM hTextBox1 AS TextBox ' can hold the address of the object
hTextBox1 = TextBox1 ' gets the address of the already existing object
hTextBox1.Text = "Set hTextBox1"
hTextBox1.X = TextBox1.X + 80
hTextBox1.Y = TextBox1.Y + 120
END
In dit voorbeeld is "
TextBox" een
Class. "hTextBox1" is een object van deze
Class, dat gecreëerd wordt op de
Form Form1.
Daarna wordt het gevuld met een Text en verplaatst naar een plaats die relatief is ten opzichte van de gecreëerde IDE.
TextBox with the name TextBox1
PUBLIC SUB Button1_Click()
DIM hTextBox1 AS TextBox ' can hold the address of the object
hTextBox1 = NEW TextBox(Form1) ' Instantiates a new TextBox, i.e. creates the object
hTextBox1.Text = "Set hTextBox1"
hTextBox1.X = TextBox1.X + 80
hTextBox1.Y = TextBox1.Y + 120
END