java.net member

Rechercher dans ce site

Les Variables de JavaFX - Partie 1

>> 28 February 2009

Les variables sont déclarées en utilisant deux mot clé "var" et "def"

var déclare une variable ordinaire modifiable à volonté

def déclare une constante non modifiable après la première initialisation (sauf utilisation de bind). Il n'est pas possible de déclarer une variable avec " def " sans initialisation.

def chiffre;//Erreur

Il n'est pas obligatoire de préciser le type de variables (type inference), quand on déclare une variable avec initialisation.

Les déclaration suivantes sont équivalentes :

var chiffre=11;
var chiffre2:Integer=11;

De même déclarer des variables avec ou sans type est possible
Les déclaration suivantes sont équivalentes, mais pas identiques, car chiffre a null comme valeur (par défaut) et chiffre2 a 0 comme valeur :

var chiffre;
var chiffre2:Integer;

Note :
Le point virgule " ; " est utilisé pour séparer des expressions en JavaFX



Les variables déclarées dans une fonction sont des variables locales ; uniquement visibles à l'intérieur de cette fonction



Valeurs de variables
La valeur d'une variables dépend largement de " Cardinality " en JavaFX et selon le mode utilisé pour déclarer cette variable :

Variables déclarées sans type prédéfini :

var x;

Ici la valeur est " null " par défaut, car elle a une " Cardinality: Optional " (0 ou 1 élément). 0 signifie ici absence de valeur ou null. C'est le type par défaut pour la plupart de types, y compris les types définis par l'utilisateur (exemple de la classe Point plus loin). En déclarant " x " on indique qu'elle peut contenir une valeur ou null.

Exemple :
/**
@author: Kaesar ALNIJRES
*/
package javafxapplication3;

var s;
println(s);



Exemple
Classe définie par l'utilisateur

/**
@author : Kaesar ALNIJRES
*/
package javafxapplication3;

class Point{
var x: Integer;
var y: Integer;

}

var p: Point;
println(p);



Variables déclarées avec un type prédéfini
String, Number, Integer etc.

var k : Integer;


Ici la cardinality (cardinalité) est required (exigée) et implique que la variable ne peut pas être null. L'absence d'une initialisation met la valeur de cette variable à une valeur correspondant au type de la variable et fixée par défaut.

Quand on essaye d'assigner une valeur null à ce genre de variable, le compilateur va convertir cette null à une valeur par défaut, si le compilateur accepte cette assignation (voir exemple 3)

La valeur par défaut pour chaque variable est comme suite :
String " " chaîne de caractères vide
Integer 0
Number 0.0
Boolean false


Exemple :

/**
@author: Kaesar ALNIJRES
*/
package javafxapplication3;

var s2: String;
println("s2 = '{s2}' ");



Exemple 2
Essayer d'assigner null à la variable s2 de type String, amène le compilateur à mettre une chaîne vide (valeur par défaut de type String) dans la variable.

/**
@author: Kaesar ALNIJRES
*/
package javafxapplication3;

var s2: String;
println("s2 = '{s2}' ");


s2=null;
println("s2 = '{s2}' ");



Exemple 3
Le Compilateur refuse d'assigner une valeur null à une variable de type Integer.

/**
@author: Kaesar ALNIJRES
*/
package javafxapplication3;


var i: Integer;
println(i);

i=null; //Error



Cardinality: Sequence (0-n)
C'est la troisième cardinalité disponibles en JavaFX, à côté de Cardinality: Optional et Cardinality: Required. Cette cardinalité est comme les arrays (tableau) d'éléments en Java et permet d'avoir zéro ou plus d'éléments.

La valeur par défaut ici est une séquence vide. Par exemple pour une séquence ou tableau d'Integers vide la valeur par défaut est un tableau ou séquence vide.


Exemple :

/**
@author: Kaesar ALNIJRES
*/
package javafxapplication3;


var seq: Integer[];//tableau vide
println(seq);

seq=[1..4];
for(i in seq)
println(i);

0 comments:

Post a Comment

  © Blogger template Simple n' Sweet by Ourblogtemplates.com 2009

Back to TOP