145 JAVA - © Christine Bonnet
VARIABLES D'INSTANCE - suiteVARIABLES D'INSTANCE - suite
•Accès :
variables définies private : par les méthodes de sa
classe uniquement (accès par nomAttribut)
variables définies protected : par les méthodes de
sa classe, de ses sous-classes (nomAttribut) et des
classes du même paquetage (opérateur "." :
nomObjet.nomAttribut)
variables définies public : par toutes les méthodes
(nomObjet.nomAttribut)partout où sa classe est
accessible
•Accès :
variables définies private : par les méthodes de sa
classe uniquement (accès par nomAttribut)
variables définies protected : par les méthodes de
sa classe, de ses sous-classes (nomAttribut) et des
classes du même paquetage (opérateur "." :
nomObjet.nomAttribut)
variables définies public : par toutes les méthodes
(nomObjet.nomAttribut)partout où sa classe est
accessible
[indic_acces] [final] type nomVariable [= valeur];[indic_acces] [final] type nomVariable [= valeur];
146 JAVA - © Christine Bonnet
VARIABLES D'INSTANCE ET ENCAPSULATIONVARIABLES D'INSTANCE ET ENCAPSULATION
•L'encapsulation est un concept clé en programmation
orienté objets
–Implémentation ignorée
–Utilisation des objets par l'intermédiaire de la partie
"interface" d'une classe
Permet d'utiliser des objets sans savoir comment ceux-
ci fonctionnent (par exemple un lecteur DVD, un guichet
automatique de banque, etc.)
•Respect de l'encapsulation :
Les variables d'instance doivent être déclarées privées
(Seules les méthodes d'une classe peuvent avoir accès aux
variables d'instance privées de cette classe)
•L'encapsulation est un concept clé en programmation
orienté objets
–Implémentation ignorée
–Utilisation des objets par l'intermédiaire de la partie
"interface" d'une classe
Permet d'utiliser des objets sans savoir comment ceux-
ci fonctionnent (par exemple un lecteur DVD, un guichet
automatique de banque, etc.)
•Respect de l'encapsulation :
Les variables d'instance doivent être déclarées privées
(Seules les méthodes d'une classe peuvent avoir accès aux
variables d'instance privées de cette classe)
147 JAVA - © Christine Bonnet
INITIALISATION DES VARIABLES D'INSTANCEINITIALISATION DES VARIABLES D'INSTANCE
•A la création d'un objet initialisation par défaut de
toutes les variables d'instance
('\u0000' pour les variables de type char, 0 pour byte, short,int et long, false pour
boolean, 0.0 pour float et double, null pour les références d'objet)
•Initialisations explicites : les variables d'instance peuvent
être initialisées dans les déclarations
•Les constructeurs permettent des initialisations plus
complexes
•A la création d'un objet initialisation par défaut de
toutes les variables d'instance
('\u0000' pour les variables de type char, 0 pour byte, short,int et long, false pour
boolean, 0.0 pour float et double, null pour les références d'objet)
•Initialisations explicites : les variables d'instance peuvent
être initialisées dans les déclarations
•Les constructeurs permettent des initialisations plus
complexes
public class Film {
private String titre;
private String categorie = "C";
private int nbDeCesars;
148 JAVA - © Christine Bonnet
VARIABLES DE CLASSE (static)VARIABLES DE CLASSE (static)
•Variables partagées par tous les objets d'une classe
(identiques pour tous les objets de la classe)
•Information à propos des instances
•Non créées dans les instances
•Variables partagées par tous les objets d'une classe
(identiques pour tous les objets de la classe)
•Information à propos des instances
•Non créées dans les instances
[indic_acces] static [final] type nomVariable [= valeur];[indic_acces] static [final] type nomVariable [= valeur];
public class Film {
private static double prixMinmin; // var. de classe
private String titre, categorie; // var. d'instance
prixMin
classe Film objets Film
titre
categorie
titre
categorie
public class Film {
private static double prixMin ; // var. de classe
private String titre, categorie; // var. d'instance
prixMin
classe Film objets Film
titre
categorie
titre
categorie
titre
categorie
titre
categorie