Објект
Објект е податочна структура што поседува својства, променливи, методи и настани.
Секој објект е асоциран со
класа што го опишува поведението на овие својства, променливи, методи и настани.
Класата може да се дефинира било во
Gambas, на пример, класата „
TextBox“,
било од програмерот што дефинира нова класа во неговиот проект.
Класата никогаш нема адреса. Класа не може да се покаже.
Објектите имаат адреси при извршувањето на програмата. Оваа адреса може да се покаже во прозорецот со изразите за набљудување. Во истиот прозорец можат да се покажат и членовите на објектот.
Примери
Во овој пример „
TextBox“ е
класа.
„TextBox1“ е објект создаден од ИРО (Интегрираната развојна околина)
„hTextBox1“ е референца кон објект од тип
TextBox.
Понатаму во примерот референцата до „TextBox1“ што е создаден во ИРО е прекопирана во „hTextBox1“.
Во прозорецот за набљудување на ИРО обете референци покажуваат иста хексадецимална адреса.
Во истиот прозорец можат да се покажат и членовите на објектот.
|
Израз
|
Вредност
|
|
TextBox
|
ERROR: Unknown ...
|
|
TextBox1
|
(TextBox 0x81099c0)
|
|
hTextBox1
|
(TextBox 0x81099c0)
|
|
hTextBox1.Text
|
"Set hTextBox1"
|
PUBLIC SUB Button1_Click()
DIM hTextBox1 AS TextBox ' moze da cuva adresa na objekt
hTextBox1 = TextBox1 ' ja dobiva adresata na vece postoecki objekt
hTextBox1.Text = "Set hTextBox1"
hTextBox1.X = TextBox1.X + 80
hTextBox1.Y = TextBox1.Y + 120
END
Во овој пример „
TextBox“ е
класа. „hTextBox1“ е објект од оваа
класа, кој ќе биде создаден како нов на
формата Form1, а потоа пополнет со текст и поместен на некое место во однос на
TextBox контролата со име TextBox1:
PUBLIC SUB Button1_Click()
DIM hTextBox1 AS TextBox ' moze da cuva adresa na objekt
hTextBox1 = NEW TextBox(Form1) ' Instancira nov TextBox, t.e. sozdava objekt
hTextBox1.Text = "Set hTextBox1"
hTextBox1.X = TextBox1.X + 80
hTextBox1.Y = TextBox1.Y + 120
END