• La clause static :
Rappel, calcul du prix d'un location
• tourisme : 50 Є + 30 Є / jour + 0.50 Є / km
⎝ Champ (variable) mais
valeur identique pour tous les petits vehicules de tourisme.
Les modificateurs (2) - static
Aujourd’hui, mais demain ?
LocaTourisme
double prix_jour;
double calculPrix();
LocaTourisme client1 = new LocaTourisme();
LocaTourisme client2 = new LocaTourisme();
Contrainte :
client1.prix_jour = client2.prix_jour.
Les modificateurs (3) - static
• La clause static :
application : champs et méthodes
a) Application aux champs :
Espace mémoire unique pour toutes les instances de la classe.
l2
prix
km
nb_jours
prix_jour
charge
l1
Les modificateurs (4) - static
Exemple :
LocaTourisme l1 = new LocaTourisme ();
LocaTourisme l2 = new LocaTourisme ();
l1.prix_jour = 30;
l2.prix_jour = l2.prix_jour + 15;
public class LocaTourisme {
public static double prix_jour;
...
}
l2
prix
l1
l2
km
nb_jours
prix_jour
charge
l1
30
l2 l1
45
km
nb_jours
prix_jour
charge
km
nb_jours
prix_jour
charge
Les modificateurs (5) - static
Idiot !
b) Application aux méthodes :
Méthodes invocables sans instanciation de la classe.
Exemple :
public class LocaTourisme {
public static void changePrixJour(double p_prix_jour) {
prix_jour = p_prix_jour;
}
}
public static void main(…) {
LocaTourisme.changePrixJour(45);
LocaTourisme l = new LocaTourisme();
l.changePrixJour(45);
}