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