Vous êtes sur la page 1sur 2

Université Hassan II - Casa Filière :

LP-SBDR
Faculté des Sciences Aîn-Chock AU :
2009-2010

Atelier Pratique : Programmation Avancée en Java

Enoncé 1 : (Objet Postal)


On souhaite concevoir des classes et un programme qui pourront être utiles à un
employé de poste pour traiter des objets à expédier.
1. Définir une classe ObjetPostal dont les caractéristiques sont les suivantes :
- le nom du destinataire (chaîne de caractères),
- l'adresse du destinataire (chaîne de caractères),
- le code postal (entier),
- le nom de la ville destination (chaîne de caractères),
- et un booléen qui indique si l'objet doit être expédié en recommandé ou pas.
On devra munir cette classe des méthodes suivantes :
- un constructeur,
- une méthode prix retournant un réel correspondant au prix d'affranchissement,
- une méthode toString pour toutes les données membres.
Attention, la classe ObjetPostal ne correspond en réalité à aucun objet existant,
elle ne fait que rassembler les caractéristiques communes à tous les objets
postaux réellement manipulés par l'application, qui seront des instances des
classes Lettre et Colis que nous allons définir ci- dessous. Une conséquence de
ceci est que la méthode prix de la classe ObjetPostal n'a aucune définition, elle
sera définie effectivement dans les sous-classes.
2. Définir une classe Lettre, sous-classe de ObjetPostal, et qui possède, hormis
les données héritées, une donnée de type booléen qui indique si la lettre doit
être expédiée en urgence ou pas. Cette classe sera munie d'un constructeur, et
calculera le prix d'affranchissement de la façon suivante :
- le prix d'affranchissement normal est 0.53 euros,
- si la lettre doit être expédiée en recommandé, il y a un surcoût de 1.5 euros,
- si la lettre doit être expédiée en urgence, il y a également un surcoût de 0.6
euros.
La méthode toString sera redéfinie de façon à communiquer, hormis toutes les
informations contenues dans la classe ObjetPostal, le fait que la lettre doive être
expédiée en urgence ou pas.
3. Définir une classe Colis, sous-classe de ObjetPostal, et qui possède, hormis les
données héritées, une donnée de type réel qui donne le poids du colis, exprimé
en grammes. Cette classe sera munie d'un constructeur, et calculera le prix
d'affranchissement de la façon suivante :
- le prix d'affranchissement normal est calculé sur la base de 0.8 euros par unité
de poids de 100 grammes,
- si le colis doit être expédié en recommandé, il y a un surcoût de 3 euros.
La méthode toString sera redéfinie de façon à communiquer, hormis toutes les
informations contenues dans la classe ObjetPostal, le poids du colis en kilos.
4. Ecrire un petit programme d'application qui déclare un tableau BoiteALettres
pouvant contenir 4 objets postaux, puis qui saisit au clavier des informations
relatives à des lettres ou à des colis, et insère les objets correspondants dans le
tableau. Enfin, le programme parcourra le tableau et fera afficher à l'écran les
caractéristiques de chaque objet ainsi que son tarif d'affranchissement. On aura
par exemple :

** Objet no 0 :
Type = colis
Nom : Vincent, Adresse : Av. Berthelot 75005 Paris, pas recommande
Poids : 0.741 Kgs
Son tarif d'affranchissement = 6.4 euros
** Objet no 1 :
Type = lettre
Nom : Dupont, Adresse : Rue Colbert 13001 Marseille, pas recommande, en
urgence
Son tarif d'affranchissement = 1.13 euros
** Objet no 2 :
Type = lettre
Nom : Durand, Adresse : Rue Joliot-Curie 13013 Marseille, en recommande, pas
en
urgence
Son tarif d'affranchissement = 2.03 euros
** Objet no 3 :
Type = colis
Nom : Dubois, Adresse : Bd Victor Hugo 83000 Toulon, en recommande
Poids : 1.387 Kgs
Son tarif d'affranchissement = 14.2 euros

Vous aimerez peut-être aussi