Académique Documents
Professionnel Documents
Culture Documents
classes
Classes et objets
Universit de Nice - Sophia Antipolis
Richard Grin
Version 1.0.1 23/11/10
Richard Grin
Plan
Classes et objets
page 2
Programme/application Java
Une application Java est compose dune ou
plusieurs classes
Le plus souvent il est compos de plusieurs classes
principale
p
dont la
Une des classes est la classe p
mthode main est lance pour lancer lapplication
Classe
Constructeurs
Mthodes
Variables
this
Protection des accs
Variables et mthodes de classe
Richard Grin
Classes et objets
page 3
Richard Grin
Classes et objets
page 4
Richard Grin
Classes et objets
page 5
Les classes
Richard Grin
Classes et objets
page 6
Richard Grin
Classes et objets
Richard Grin
class TestLivre {
public static void main(String[] args) {
Livre livre =
new Livre("Les Misrables", "Victor Hugo");
livre.setNbPages(450);
System.out.println(livre.getAuteur());
}
}
Constructeurs
Mthodes
Classes et objets
Richard Grin
Classes et objets
Classes et objets
page 10
Classes et objets
11
Classes et objets
page 12
Les constructeurs
UNE_CONSTANTE
Richard Grin
Classes et objets
13
15
Classes et objets
Richard Grin
Classes et objets
16
14
Classes et objets
Classes et objets
Richard Grin
Richard Grin
Richard Grin
Classes et objets
18
Les mthodes
Richard Grin
Classes et objets
19
Richard Grin
Classes et objets
20
Accesseurs
Richard Grin
Classes et objets
21
Richard Grin
Classes et objets
22
Le pseudo
pseudo-type
type void indique qu
quaucune
aucune valeur nest
n est
renvoye :
void setSalaire(double unSalaire)
Richard Grin
Classes et objets
23
Richard Grin
Classes et objets
24
Exemples de mthodes
Classes et objets
En Java, on peut surcharger une mthode, cest-dire, ajouter une mthode qui a le mme nom mais
pas la mme signature quune autre mthode :
calculerSalaire(int)
calculerSalaire(int, double)
indice dans
la grille des
salaires
25
Richard Grin
Classes et objets
R. Grin
Introduction Java
26
27
Classes et objets
Richard Grin
prime accordes
aux commerciaux
Richard Grin
Classes et objets
main() :
Employe e1 = new Employe("Patrick", 1000);
Employe e2 = new Employe("Bernard", 1200);
int i = 10;
page 28
Passage de
paramtres
Que
sera-t-il
affich ?
Patrick
P
t i k
1000
Il sera
affich
10
800.0
Bernard
i
10
main
e1
e2
Pile
29
Bernard
1200
R. Grin
Tas
Introduction Java
30
Passage de
paramtres
main() :
m(i, e1, e2);
ip e1p
10
e2p
i
10
main
ip e1p
100
e2p
i
10
main
e2
Tas
Introduction Java
ip = 100;
e1p.salaire = 800;
e2p = new Employe("Pierre", 900);
i
10
main
e1
Pile
31
Passage de
paramtres
m() :
ip e1p
100
e2p
Introduction Java
ip = 100;
e1p.salaire = 800;
e2p = new Employe("Pierre", 900);
R. Grin
i
10
main
Introduction Java
Pile
33
Bernard
1200
e2
Pile
R. Grin
Bernard
1200
Tas
Introduction Java
34
toString()
Il est conseill dinclure une mthode toString
dans toutes les classes que lon crit
Cette mthode renvoie une chane de caractres
qui dcrit linstance
Cette description peut tre trs utile lors de la
mise au point des programmes
La description doit tre compacte et prcise
System.out.println(objet) affiche la
valeur retourne par objet.toString()
Patrick
P
t i k
800
e1
R. Grin
Passage de
paramtres
Pierre
900
i
10
e1
Patrick
P
t i k
800
e2
Tas
main() :
main
Pierre
900
ip e1p
100
e2p
(pas de variables locales)
Bernard
1200
32
Passage de
paramtres
m() :
Patrick
P
t i k
800
Tas
R. Grin
e2
Pile
Bernard
1200
e1
e2
Pile
R. Grin
Patrick
P
t i k
1000
Bernard
1200
e1
ip = 100;
e1p.salaire = 800;
e2p = new Employe("Pierre", 900);
Patrick
P
t i k
1000
Passage de
paramtres
m() :
Tas
Introduction Java
35
Richard Grin
Classes et objets
page 36
Exemple
public class Livre {
...
public String toString() {
return "Livre [titre=" + titre
+ ",auteur=
auteur=" + auteur
+ ",nbPages=" + nbPages
+ "]";
}
}
Richard Grin
Classes et objets
Les variables
page 37
Richard Grin
Classes et objets
39
Classes et objets
Richard Grin
Classes et objets
40
38
Variable locale
ou variable dinstance ?
Types de variables
Richard Grin
Classes et objets
41
Richard Grin
Classes et objets
42
Dclaration / cration
OK ? NullPointerException
}
Employe e1;
dclare que lon va utiliser une variable e1 qui rfrencera
un objet de la classe Employe,
mais aucun objet nest cr
Richard Grin
Classes et objets
43
Richard Grin
Classes et objets
44
Richard Grin
Classes et objets
45
Richard Grin
Classes et objets
46
Degrs dencapsulation
Richard Grin
Classes et objets
47
Richard Grin
Classes et objets
48
Richard Grin
Classes et objets
49
Richard Grin
Classes et objets
50
this
Le code dune mthode dinstance dsigne
linstance qui a reu le message (linstance
courante), par le mot-cl this
Richard Grin
Classes et objets
51
Richard Grin
52
this explicite
Richard Grin
Classes et objets
53
54
Variables de classe
Certaines variables sont partages par toutes les
instances dune classe. Ce sont les variables de
classe (modificateur static)
Si une variable de classe est initialise dans sa
dclaration cette initialisation est excute une
dclaration,
seule fois quand la classe est charge en mmoire
R. Grin
Introduction Java
55
R. Grin
56
Mthodes de classe
R. Grin
Introduction Java
57
R. Grin
Introduction Java
58
Mthodes de classe
R. Grin
Introduction Java
59
R. Grin
Introduction Java
60
10