objet

Classe

Une classe peut être définie soit dans Gambas comme par exemple la classe "TextBox" soit le programmeur crée sa propre nouvelle classe.

Une classe n'a jamais d'adresse. Une classe ne peut pas être affichée.

Objet

Pour utiliser une classe à l'exécution, elle doit être instanciée. Cela crée un objet. C'est réalisé soit par le framework au démarrage, soit par le programme avec la commande New.

Dans les deux cas une certaine zone de mémoire contient toutes les variables de la classe.

Les objets ont une adresse d'exécution. Cette addresse peut être affichée dans la fenêtre de surveillance (watch).

Exemples

Dans cet exemple "TextBox" est une classe. "TextBox1" est un objet, qui est créé par l'IDE. "xTextBox1" est une référence à un objet du type TextBox. Plus tard dans cet exemple, la référence à l'IDE "TextBox1" est copiée dans "xTextBox1". Dans la fenêtre watch de l'IDE, les deux références montrent la même adresse hexadécimale. Des membres de l'objet peuvent être également affichés dans la fenêtre watch.

Expression Valeur
TextBox
TextBox1 (TextBox 0x81099c0)
xTextBox1 (TextBox 0x81099c0)
xTextBox1.Text "Set xTextBox1"

Exemples

PUBLIC SUB Button1_Click()
DIM xTextBox1 AS TextBox            ' peut contenir l'adresse de l'objet

xTextBox1 = TextBox1                ' récupère l'adresse de l'objet déjà existant
xTextBox1.Text = "Set xTextBox1"
xTextBox1.X = TextBox1.X + 80
xTextBox1.Y = TextBox1.Y + 120
END

Dans cet exemple "TextBox" est une classe.
"xTextBox1" est un objet de cette classe, qui sera créé sur la Form Form1. Puis complété par un Texte et déplacé quelque part vers une position relative à la TextBox créée par l'IDE sous le nom TextBox1.

Exemples

PUBLIC SUB Button1_Click()
DIM xTextBox1 AS TextBox            ' peut contenir l'adresse de l'objet

xTextBox1 = NEW TextBox(Form1)      ' Instancie une TextBox, crée l'objet
xTextBox1.Text = "Set xTextBox1"
xTextBox1.X = TextBox1.X + 80
xTextBox1.Y = TextBox1.Y + 120
END