Vous avez maintenant appris `a manipuler les objets. Vous allez maintenant ´etudier leur fonc-
tionnement interne.
T´el´echargez le fichier De.java. Examinez-le. Il contient la d´efinition de la classe De. Celle-ci a
un attribut, valeur, et deux m´ethodes, lancer() et De().
La m´ethode De() a un statut particulier : c’est le constructeur. Un constructeur est une m´ethode
qui a le mˆeme nom que sa classe. Elle est appel´ee quand un d´e est cr´ee (par exemple, par
l’instruction De de1 = new De(); dans le programme de jeu). Elle d´ecrit ce qu’il faut faire quand
on cr´ee un d´e. Par exemple, ici, quand un d´e est cr´ee, on d´ecide de l’initialiser en lui donnant la
valeur 1.
Comme nous l’avons d´eja vu dans la section pr´ec´edente, lorsqu’on utilise un objet, on peut
acc´eder `a ses attributs et ses m´ethodes ansi: <objet>.<attributs>, par exemple de1.valeur.
A l’interieur de l’objet, ses attributs et m´ethodes sont acc´essibles directement. Par exemple, la
m´ethode lancer() modifie la valeur de l’attribut valeur en l’appelant directement par son nom.
Modifier la classe De pour que, lorsqu’un d´e est cr´ee, sa valeur initiale soit choisie al´eatoirement.
Question 1.5: D´es pip´es
Ajouter `a la classe De une m´ethode piper() qui modifie le d´e de mani`ere `a ce qu’il ne fasse plus
que des 1, des 2 et des 4, r´eduisant ainsi consid´erablement la difficult´e du jeu de 421.
Chaque d´e cr´e´e se comportera normalement au d´ebut, et ne deviendra pip´e que si on appelle sa
m´ethode piper(). Une fois pip´e, le d´e le restera.
Exercice 2: Nombre Mystere
Question 2.1: Un d´e `a 100 faces
Sur le mod`ele de la classe De, construisez un objet De100 qui poss`ede un attribut (valeur) et
cinq m´ethodes :
•De100() : le constructeur de la classe. Il initialise la valeur en lan¸cant le d´e.
•lance() : pareil que pour la classe De, mais g´en`ere un nombre al´eatoire compris entre 1 et
100.
•exact(int chiffre) : fonction qui prend en entr´ee un chiffre qui renvoie un bool´een (boolean),
renvoie true si l’argument correspond `a la valeur du d´e, false sinon.
•tropgrand(int chiffre) : idem, mais renvoie true si l’argument est plus grand que la valeur du
d´e, false sinon
•troppetit(int chiffre) : l’inverse de tropgrand
Question 2.2: Nombre myst`ere...
R´ealisez un jeu du nombre myst`ere `a l’aide de la classe De100.
2