objeto

Classe

Uma classe pode ser definida tanto no Gambas como por exemplo a classe "TextBox" ou o programador cria uma própria nova classe.

Uma classe nunca tem um endereço. Uma classe não pode ser exibida.

Objeto

para usar uma classe em tempo de execução, ela deve ser instanciada. Para isso um objeto é criado. Isto é feito tanto pelo framework no início, ou pelo programa com o comando NEW.

Em ambos os casos uma parte da memória mantém todas as variáveis da classe.

Objetos possuem um endereço em tempo de execução. Este endereço pode ser exibido na "watch window". Todos os membros do objeto podem ser exibidos na "watch windows".

Exemplos

Neste exemplo "TextBox" é uma classe. "TextBox1" é um objeto, que é criado pelo IDE. "xTextBox1" é uma referência a um objeto do tipo TextBox. Depois neste exemplo a referência para o "TextBox1" criado pelo IDE é copiado para "xTextBox1". Na "watch window" do IDE ambas as referências mostram o mesmo endereço hexadecimal. Além disso, os membros do objeto podem ser mostrados na "watch window".

Expressão Valor
TextBox
TextBox1 (TextBox 0x81099c0)
xTextBox1 (TextBox 0x81099c0)
xTextBox1.Text "Set xTextBox1"

Examples

PUBLIC SUB Button1_Click()
DIM xTextBox1 AS TextBox            ' pode conter o endereço de um objeto

xTextBox1 = TextBox1                ' pega o endereço de um objeto já existente
xTextBox1.Text = "Set xTextBox1"    ' alterando o valor da propriedade .Text
xTextBox1.= TextBox1.+ 80       ' move no eixo X
xTextBox1.= TextBox1.+ 120      ' move no eixo Y
END

Neste exemplo "TextBox" é uma Classe. "xTextBox1" é um objeto desta classe, que será criada no Form Form1. E então preenchida com um texto e movida para uma posição relativa ao TextBox chamado TextBox1 criado pelo IDE.

Examples

PUBLIC SUB Button1_Click()
DIM xTextBox1 AS TextBox            ' pode conter o endereço de um objeto

xTextBox1 = NEW TextBox(Form1)      ' Instancia uma TextBox, cria o objeto
xTextBox1.Text = "Set xTextBox1"    ' altera o valor da propriedade .Text da nova TextBox
xTextBox1.= TextBox1.+ 80       ' posiciona relativamente no eixo X
xTextBox1.= TextBox1.+ 120      ' posiciona relativamente no eixo Y
END