对象
对象是一个数据结构,它提供属性、变量、方法和事件。
每个对象关联到一个
类,这个类描述其属性、变量、方法和事件的特性。
类可以在
Gambas中定义,例如类“
textbox”,也可以被程序员在其项目中定义新类来定义。
类没有地址,不能被显示。
对象有运行时的地址,这个地址能被显示在监视窗口。对象的成员也能被显示在监视窗口。
示例1
在这个示例中“
TextBox”是一个
类,
“TextBox1”是一个由IDE创建的对象,
“hTextBox1”是一个对
TextBox类型对象的引用,
本例的后面,IDE创建的“TextBox1”的对象的引用被复制到“hTextBox1”。
在IDE的监视窗口中,两者显示相同的十六进制地址,对象的成员也显示在监视窗口中。
表达式
|
值
|
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
示例2
在该示例中,"
TextBox"是一个
类。"hTextBox1"是一个该类的
对象,它将在Form1
窗体中被新创建。
并用文本填充并移动到一个相对于IDE创建的名为TextBox1的
TextBox的位置。
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