tablissement : ENIT
Mati re : Java et JEE
Ann e universitaire : 2015/2016
Enseignant : Mohamed Ramzi Haddad
Devoir surveill
Classes : 2ATEL
Dur e : 1h30
Nombre de pages: 1
Premi re partie (6 pts):
Q1 : Expliquer bri vement la diff rence entre une classe abstraite et une interface tout en indiquant leurs utilit s.
Advertisement
Q2 : Expliquer bri vement la diff rence entre la surcharge et la red finition et num rer les r gles qui les r gissent.
Q3 : Expliquer bri vement le concept de polymorphisme et indiquer son utilit .
Deuxi me partie (14 pts):
L'objectif est de mod liser le parc automobile dune entreprise tout en respectant les principes et les bonnes
pratiques de la programmation orient e objet. Les diff rents types de v hicules sont les suivants : les petits bus, les
camions citernes, et les camions b ch s.
Tout v hicule poss de une immatriculation (propre chaque v hicule) et un poids vide (fixe pour chaque type de
v hicules). Certains v hicules, comme les camions citernes et les camions b ch s, peuvent transporter une charge
dont le poids ne doit pas d passer la charge maximale d pendant du type du v hicule.
" Un petit bus a un poids vide de 4 tonnes, un certain nombre de places et peut atteindre une vitesse
Advertisement
maximale de 150 km/h.
" Un camion citerne a un poids vide de 3 tonnes et une charge maximale de 10 tonnes. Sa vitesse maximale
d pend de sa charge : 120 km/h si la charge est inf rieure 4 tonnes et 90 km/h sinon.
" Un camion b ch a un poids vide de 4 tonnes et une charge maximale de 20 tonnes. Sa vitesse maximale
d pend galement de sa charge : 110 km/h si la charge est inf rieure 3 tonnes et 80 km/h sinon.
Chaque v hicule doit tre capable de calculer et de retourner sa vitesse maximale gr ce la m thode
int calculerVitesseMaximale().
Certains types de v hicules comme les petits bus et dautres (qui ne sont pas mod lis s ici mais qui le seront peut-
tre plus tard au cours d'une future extension) peuvent tre lou s par lentreprise pour des intervenants externes.
Chaque v hicule louable doit obligatoirement comporter une m thode de signature double facturer(int
Advertisement
d) qui retourne le prix facturer pour le transport sur un trajet de distance d. Le prix facturer est fix
200dt/heure. La dur e du trajet tant calcul e sur la base de la vitesse maximale de celui-ci.
Travail effectuer :
-
Implanter la hi rarchie de classes permettant de mod liser le probl me de mani re g n rique, robuste,
facilement extensible et respectueuse des bonnes pratiques de la programmation orient e objet. Toute
classe devrait employer les modificateurs d'acc s les plus restrictifs pour ses attributs et proposer un
constructeur param tr .
- D velopper la classe LocationConvoi qui repr sente un ensemble de v hicules lou s par l'entreprise. Cette
classe devrait proposer la m thode calculerCoutLocation qui prend comme param tre la distance
Advertisement
parcourue par les v hicules du convoi et retourne le co t total de la location en se basant sur la m thode
facturer.
Indiquer ce qu'il faudrait rajouter aux classes propos es pour faciliter le d veloppement de la classe
Entreprise regroupant une collection (de type List ou Set) de v hicules sachant que celle-ci devrait proposer
des m thodes de recherche de v hicules par immatriculation, de tri par vitesse maximale et de suppression.
-
Bon travail ;