objeto

Un objeto es una estructura de datos que provee propiedades, variables, métodos y eventos.

Cada objeto esta asociado con una clase, que describe el comportamiento de estas propiedades, variables, métodos y eventos.

Una clase puede ser definida ya sea en Gambas como por ejemplo la clase "TextBox" o puede ser definida por el programador, en una nueva clase en el proyecto.

Una clase nunca tiene una dirección. Una clase no puede ser mostrada.

Los Objetos tienen una dirección en tiempo de ejecución. Esta dirección puede ser mostrada en la ventana de observación. Los miembros del objeto también pueden mostrarse en la ventana de observación.

Ejemplo 1

En este ejemplo "TextBox" es una clase. "TextBox1" es un objeto, que es creado por el IDE. "hTextBox1" es una referencia a un objeto del tipo TextBox. Despues, en este ejemplo la referencia a el "TextBox1" creado por el IDE es copiado a "hTextBox1". En la ventana de observación del IDE las dos referencias muestran la dirección en hexadecimal. Los miembros de los objetos también pueden mostrarse en la ventana de observación.

Expresión Valor
TextBox ERROR: Desconocido ...
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

Example 2

In this example "TextBox" is a Clase. "hTextBox1" is an Objeto of this Clase, which will be created new on the Form Form1. And then filled with a Text and moved to a place somewhere relative to the IDE created 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