70 likes | 221 Views
Proprits = attributs et mthodes.Jusqu' maintenant on a vu des proprits associes des objets, appeles proprits d'instance.Ex: ? la hauteur d'un rectangle private int hauteur; ? la mthode qui calcule le primtre d'un rectangle public double perimetre() {}
E N D
2. Propriétés = attributs et méthodes.
Jusqu’à maintenant on a vu des propriétés associées à des objets, appelées propriétés d’instance.
Ex: ? la hauteur d’un rectangle
private int hauteur;
? la méthode qui calcule le périmètre d’un rectangle
public double perimetre() {…}
Les attributs d’instance sont crées et initialisées à la fabrication de l’objet (c.à.d. dans le constructeur).
Les propriétés de classe (ou propriétés statiques) sont associées à des classes et peuvent exister même si aucun objet n’a été créé. Elles sont repérées par le mot static.
Les attributs statiques sont crées et initialisés au moment de leur déclaration.
Ex: ? le nombre d’instances d’une classe.
private static int nb_rectangles_crees=0;
3. ? La méthode main est une méthode de classe (méthode statique).
public static void main(String [ ] args) { … }
On trouve aussi des constantes associées à des classes (mot clé final en plus de static).
Ex: public final static double g=9.80665;
Pour appeler un attribut de classe public ou une méthode de classe depuis une autre classe on écrit nom_de_classe.propriété.
Ex: public class TestStatic {
public static int val_int=10;
public static void afficheValInt() {
System.out.println(val_int);
}
}
public class ProgrammeTest {
public static void main(String args[ ]) {
int v=TestStatic.val_int;
TestStatic.afficheValInt();
} }
4. Seules les méthodes d’instance d’une classe peuvent utiliser les propriétés d’instance de cette classe.
Toutes les méthodes (d’instance et de classe) peuvent utiliser les propriétés de classe.
Ex : Exemple : le programme suivant ne compile pas
public class CaMarchePas {
private int valeur;
public void afficheValeur() {
System.out.println(valeur); // ok
}
public static void main(String[ ] args) {
valeur=4; // interdit
afficheValeur(); // interdit
}
}
6. Un exemple pratique : la classe Math (sans s!) Attributs statiques (final static)
correspondant aux constantes mathématiques
Ex : Math.PI // 3.14159... (non modifiable).
Méthodes statiques correspondant aux fonctions mathématiques courantes
Ex : double x = Math.random(); // nb au hasard entre 0 et 1 exclus