object

Classe

Una classe può essere definita in Gambas come ad esempio la classe "TextBox" oppure il programmatore può creare una nuova classe.

Una classe non ha un indirizzo e non può essere visualizzata.

Oggetto

Per utilizzare una classe in modalità di runtime, deve essere istanziata. Dopodichè viene creato un oggetto. Questo compito viene svolto dal framework all'avvio, oppure da programma con il comando NEW.

In entrambi i casi tutte le variabili della classe sono mantenute in memoria.

Gli oggetti hanno un indirizzo di runtime. Questo indirizzo può essere visualizzato nella finestra immediata (watch). Allo stesso modo anche i menbri di un oggetto possono essere visualizzati nella finestra immediata (watch).

Esempio

In questo esempio "TextBox" è una classe. "TextBox1" è un oggetto, che viene creato dall'IDE. "xTextBox1" è un riferimento ad un oggetto di tipo TextBox. Successivamente in quest'esempio il riferimento creato dall'IDE "TextBox1" è copiato in "xTextBox1". Nella finestra Immediata (watch) dell'IDE entrambi i riferimenti vengono mostrati con lo stesso indirizzo esadecimale.

Espressione Valore
TextBox
TextBox1 (TextBox 0x81099c0)
xTextBox1 (TextBox 0x81099c0)
xTextBox1.Text "Set xTextBox1"

Examples

PUBLIC SUB Button1_Click()
DIM xTextBox1 AS TextBox            ' dichiara l'oggetto come classe TextBox

xTextBox1 = TextBox1                ' prende l'indirizzo dell'oggetto esistente
xTextBox1.Text = "Set xTextBox1"
xTextBox1.= TextBox1.+ 80
xTextBox1.= TextBox1.+ 120
END

In questo esempio "TextBox" è una classe. "xTextBox1" è un oggetto di questa classe, che sarà creato come nuovo oggetto su Form Form1. Quindi popolato con un testo e posizionato relativamente alla posizione di TextBox con il nome TextBox1

Examples

PUBLIC SUB Button1_Click()
DIM xTextBox1 AS TextBox            ' dichiara l'oggetto come classe TextBox

xTextBox1 = NEW TextBox(Form1)      ' istanzia una TextBox, creando un nuovo oggetto
xTextBox1.Text = "Set xTextBox1"
xTextBox1.= TextBox1.+ 80
xTextBox1.= TextBox1.+ 120
END