Vous êtes sur la page 1sur 4

Mme Cheikh Eya

Atelier Programmation Orientée Objet

Atelier 4 L’héritage
OBJECTIF DU TP
 Définir des classes avec le principe de l’héritage

Objectifs Spécifiques de ce TP
 Créer des classes en appliquant le principe de l’héritage
 Appeler des constructeurs de la classe de base dans la classe dérivée
TRAVAIL A FAIRE

Exercice 1
On se propose de réaliser une application de gestion des téléphones mobiles (Prépayé et facturé)

1) Créer un projet GestionAbonneTel


2) Définir les classes du diagramme de classes suivant

Téléphone
#CinAbonné : chaine de caractères
#numéro du téléphone: entier
#Indicatif : entier
+Afficher ( )

Téléphone Facturé Téléphone Prépayé


-Montant à facturer : réel -Montant restant : réel
+consommer(Montant)
+Régler (Montant) +consommer(Montant)
+Afficher ( ) +GetMontantRestant ( )
+Alimenter (Montant)
+Afficher ( )

déduit le montant du ajoute au montant restant le


montant facturé montant passé en paramètre

 La méthode consommer dans la classe Téléphone Facturé ajoute le montant consommé au


montant à facturer
 La méthode consommer dans la classe Téléphone Prépayé déduit le montant consommé du
montant restant
 Prévoir un constructeur qui initialise tous les attributs par les valeurs passées en paramètres

3) Redéfinir au niveau de chaque classe la méthode Afficher de façon à donner l’affichage suivant :

Pour un téléphone facturé


Mon NCIN est 04567892
1
Mon numéro de téléphone est 245.789
Mon Indicatif est 71
J’ai un téléphone facturé
Le montant à payer est 100 dinars

Pour un téléphone prépayé


Mon NCIN est 04326612
Mon numéro de téléphone est 240.780
Mon Indicatif est 75
J’ai un téléphone prépayé
Le montant restant est 15 dinars

4) Dans le programme principal, déclarer les objets qui correspondent aux données ci-dessus et
afficher leurs descriptions.

EXERCICE 2
Soient les classes Personne, Passager et Personnel de l’application de gestion de la compagnie aérienne
Albatros.

Personne

#nom : chaînes de caractères


#prénom : chaînes de caractères
-age : entier

+getNom(): chaînes de caractères


+getPrénom(): chaînes de caractères
+getAge():entire
+setAge(a:entire)
+afficher()

Passager Personnel

-prixBillet : réel -Salaire :réel

+getPrix( ) : réel +getSalaire(): réel


+reduire(p : réel) +augmenter(p : réel)
+afficher() +afficher( )
+setPrixBillet(prix :réel)

Augmenter le salaire avec le


Réduire le prix du billet pourcentage p s’il n’est pas
avec le pourcentage p précisé p= 5%
s’il n’est pas précisé p= 1%

2
1. Définir les classes Personne, Passager et Personnel sachant que :
 Pour créer une personne, on précise au moins son nom et son prénom : si son âge n’est pas précisé,
il est fixé à -1 par convention.
 Lors de la création d’un objet représentant un membre du personnel, on fixe obligatoirement le
nom et le prénom, et l’âge ; si le salaire n’est pas précisé, il est fixe à 1000 dinars.
 Pour l’affichage des caractéristiques d’une personne, on n’affichera son âge que s’il a été précisé.
2. Tester ces classes en utilisant le diagramme d’objets suivant :

UnPass : Passager
Nom= Maala Réduire(10%) UnPass : Passager
Prénom= Khaled Nom= Maala
Age = 25 ans Prénom= Khaled
Prix billet= 400 Dinars Age = 25 ans
Prix billet= 360 Dinars

UnPerso : Personnel
Nom= Selmi UnPerso : Personnel
Prénom= Ahmed Nom= Selmi
Age = 40 ans Prénom= Ahmed
augmenter(10%) Age = 40 ans
Salaire = 1100 DT

EXERCICE 3

On désire développer une application de gestion de stock d’un magasin qui gère les achats de matériels
auprès des fournisseurs. On dispose du diagramme de classes suivant :

Matériel
Fournisseur
-ref : chaine de caractères
-nom : chaine de caractères
-quantité : entier
-adresse : chaine de caractères
-prixAchat : réel
#/prixVente : réel fournir
+getNom() : chaine de caractères
+getAdresse() : chaine de caractères
+livrer( q :entier)
+stocker(q : entier)
+afficher()
+fournir(f :Fournisseur)
+ Prix de vente= prix d’achat x 130%

MatérielEnPromotion

-typeDePromo : chaine de caractères


-pourcentageReduction : entier

+CalculPrixReduit( ) : réel
+appartenirPromotion(type : chaine de caractères) :
booléen 3
+afficher()
L’association fournir entre les classes Matériel et Fournisseur est traduite par un attribut privé
leFournisseur dans la classe Matériel.
La classe Fournisseur a un constructeur avec deux paramètres : le nom et l’adresse du fournisseur ainsi
que la méthode toString qui retourne le nom et l’adresse du fournisseur séparés par un blanc.
La classe Matériel a un constructeur avec 2 paramètres : référence et prix d’achat. Elle a aussi la
méthode toString.
 Définir la classe MatérielEnPromotion avec un constructeur qui a 4 paramètres : référence,
prix d’achat, typeDePromo et pourcentageReduction.
 Redéfinir la méthode toString pour la classe MatérielEnPromotion qui retourne tous les
attributs séparés par un blanc.
 Tester ces classes en utilisant ce diagramme d’objets

MP : MatérielEnPromotion MP : MatérielEnPromotion
Fournir
ref = M1 ordinateur ref = M1 ordinateur
quantité= 7 quantité= 7
prixAchat = 1000 DT prixAchat = 1000 DT
prixVente = 1300 DT prixVente = 1300 DT
typeDePromo = Remise à la caisse typeDePromo = Remise à la caisse
pourcentageReduction =30% pourcentageReduction = 30%
F1 : Fournisseur leFournisseur =F1
Nom= Scoop Info
Adresse= Ezahra

Vous aimerez peut-être aussi