Déclaration de variables
[ STATIC ] { PUBLIC | PRIVATE } Identificateur AS _Type de donnée [ = Expression ]
Ceci déclare une variable de classe globale.
Accès
Cette variable est accessible n'importe où dans la classe où elle a été déclarée.
-
Si le mot clef PUBLIC est spécifié, elle est également accessible aux autres classes ayant une référence directe à un objet de cette classe.
-
Si le mot clef STATIC est spécifié, la même variable sera partagée avec chaque objet de cette classe.
Exemple
STATIC PUBLIC GridX AS Integer
STATIC PRIVATE bGrid AS Boolean
PUBLIC Nom AS String
PRIVATE Controle AS Object
Initialisation
La variable peut être initialisée avec une
Expression quelconque.
Exemple
PRIVATE Langages AS String[] = [ "fr", "it", "es", "de", "ja" ]
PRIVATE DefaultLangage AS String = Langages[1]
Alternative : vous pouvez initialiser la variable avec un objet nouvellement instancié.
[ STATIC ] { PUBLIC | PRIVATE } Identificateur AS NEW Classe ( Arguments ... )
Exemple
STATIC PRIVATE Taches AS NEW List
PRIVATE MaCollection AS NEW Collection(gb.Text)
Ou vous pouvez initialiser la variable avec un tableau dynamique natif.
[ STATIC ] { PUBLIC | PRIVATE } Identificateur AS NEW type de donnée [ dimensions du tableau ... ]
Notez que vous pouvez utiliser une expression quelconque pour spécifier les dimensions d'un tableau (array).
Exemple
PUBLIC CONST WORD_MAX AS Integer = 12
PRIVATE Mots AS NEW String[WORD_MAX * 2]
PUBLIC Matrice AS NEW Float[3, 3]
Alignement des Variables
Les Objets ne sont jamais compactés, c.a.d. que les variables sont alignées à une adresse mémoire qui est un multiple de leur longueur en mémoire :
Comme l'ordre de déclaration est respecté , vous pouvez avoir des trous dans votre objet.
Par exemple, si vous déclarez une variable octet et juste après un entier, vous aurez un trou inutilisé de trois octets entre l'octet et l'entier.
Déclaration
Il y a deux sortes de tableaux dans Gambas : les tableaux "normaux" et les tableaux "intégrés". Ils sont déclarés selon des syntaxes différentes.
Voir
Déclaration de tableau pour plus d’informations.
Voir aussi