70 likes | 207 Vues
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. Proprits = attributs et mthodes.
Jusqu maintenant on a vu des proprits associes des objets, appeles proprits dinstance.
Ex: ? la hauteur dun rectangle
private int hauteur;
? la mthode qui calcule le primtre dun rectangle
public double perimetre() {}
Les attributs dinstance sont cres et initialises la fabrication de lobjet (c..d. dans le constructeur).
Les proprits de classe (ou proprits statiques) sont associes des classes et peuvent exister mme si aucun objet na t cr. Elles sont repres par le mot static.
Les attributs statiques sont cres et initialiss au moment de leur dclaration.
Ex: ? le nombre dinstances dune classe.
private static int nb_rectangles_crees=0;
3. ? La mthode main est une mthode de classe (mthode statique).
public static void main(String [ ] args) { }
On trouve aussi des constantes associes 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 mthode de classe depuis une autre classe on crit nom_de_classe.proprit.
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 mthodes dinstance dune classe peuvent utiliser les proprits dinstance de cette classe.
Toutes les mthodes (dinstance et de classe) peuvent utiliser les proprits 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 mathmatiques
Ex : Math.PI // 3.14159... (non modifiable).
Mthodes statiques correspondant aux fonctions mathmatiques courantes
Ex : double x = Math.random(); // nb au hasard entre 0 et 1 exclus