Vous êtes sur la page 1sur 5

Programmation orientée objet Alan Zirek

Séance#2 : Introduction à la programmation orien-


tée objet
Le but de cet exercice est d’appliquer les concepts de classe, objet, instance,
état, méthode. . . vue en cours. Pour cela, nous allons reprendre l’exemple
du système automobile qui vous a été présenté dans les premières vidéos du
cours.

Attributs
1. Écrire une classe Voiture (cf. annexe) sachant qu’une voiture est repré-
sentée par une couleur, un type de carburant, l’année de sa fabrication,
sa capacité de réservoir et si elle est démarrée.
2. Compilez votre code (bouton Compile).

3. Dans le Code Pad, instanciez un objet de type Voiture. Pour afficher


le Code Pad, cliquez sur View / Show Code Pad (dans la barre de
menu).

EIGSI 2019-2020 1
Programmation orientée objet Alan Zirek

EIGSI 2019-2020 2
Programmation orientée objet Alan Zirek

4. Instanciez un autre objet en utilisant l’interface graphique (clic droit


sur la classe, new Voiture())

5. Inspectez votre objet. Pour ce faire, tapez le nom de votre objet dans
le Code Pad puis tapez sur la touche Entrez de votre clavier. Ensuite,
cliquez sur le petit carré rouge. Votre objet sera ainsi placé à gauche
du Code Pad. Double cliquez dessus pour voir les valeurs de chaque
attribut.

Constructeurs
6. Dans la classe Voiture, ecrire un premier constructeur vous permet-
tant d’initialiser une voiture ayant par défaut une couleur noire, une
capacité de réservoir à 60 litres, un type de carburant Diesel et une
année de fabrication à 2013. De plus, la voiture sera éteinte.
7. Dans le Code Pad, instanciez un objet. Inspectez l’objet et observez
les valeurs de chaque attribut. Que remarquez-vous ?
8. Écrire un deuxième constructeur qui permettra d’initialiser une voi-
ture où tous les attributs seront initialisés avec la valeur passée dans
les paramètres du constructeur (sauf l’attribut demarree qui prendra
la valeur false par défaut).
9. Dans le Code Pad, instanciez un nouvel objet faisant appel au deuxième
constructeur tout juste créé.

EIGSI 2019-2020 3
Programmation orientée objet Alan Zirek

Pensez à indenter votre code (servez-vous de la commande Auto-layout


de Blue J :

Méthodes
10. Écrire une première méthode demarrer() qui permettra de passer
l’état d’une voiture éteinte à une voiture allumée.
11. Dans le Code Pad, invoquez la méthode demarrer() sur le dernier
objet créé.
12. Écrire la méthode avancer() qui simulera l’avancement d’une voiture.
L’avancement fera diminuer de 10 le réservoir de la voiture.
De plus, la voiture pourra avancer si elle a assez de carburant et si
elle est allumée.
13. Dans le Code Pad, invoquez la méthode avancer() sur le dernier objet
créé.
14. Écrire la méthode reculer() qui repose sur le même principe que la
méthode avancer() sauf qu’elle fera diminuer de 5 la capacité restante
du réservoir.
15. Dans le Code Pad, invoquez la méthode reculer() sur le dernier objet
créé.
16. Écrire une méthode remplirReservoir() permettant de remplir le ré-
servoir de N litres de carburant. Ne prenez pas en compte le fait qu’un
réservoir a une capacité maximum. Pour cette question, elle sera infi-
nie.
17. Dans le Code Pad, invoquez la méthode remplirReservoir() sur le der-
nier objet créé.

EIGSI 2019-2020 4
Programmation orientée objet Alan Zirek

18. Dans le Code Pad, que ce passe t’il si l’on écrit le code suivant :
Voiture v = new Voiture() ;
v.couleur = "rouge" ;
System.out.println(v.couleur) ;

Détaillez votre réponse. Proposez une solution alternative.

EIGSI 2019-2020 5

Vous aimerez peut-être aussi