Vous êtes sur la page 1sur 3

Institut Supérieur Des Etudes Technologiques Du Kef

Programmation Orientée en Objet

UE : Programmation Orientée en Objet Classe : DSI21, RSI21, SEM21


Parcours : DSI, RSI, SEM Année universitaire :2018/2019
Enseignants : Mme Ibtissem YACCOUBI, Mme Chifa Durée : une heure
LABIDI, Mr Aymen CHARADDA
Nombre de pages : 3

Problème
Dans le cadre de l’informatisation d’une mairie, on veut automatiser le calcul des impôts locaux.
On distingue deux catégories d’habitation : les habitations à usage professionnel et les maisons
individuelles, l’impôt se calculant différemment selon le type d’habitation. Pour cela, on définit
les classes HabitationProfessionnelle et HabitationIndividuelle et les caractéristiques
communes à ces deux classes sont regroupées dans la classe Habitation. On a donc un schéma
de classes où les classes HabitationProfessionnelle et HabitationIndividuelle héritent de la
classe Habitation.
La classe Habitation comprend les attributs :
• Num de type entier, et qui correspond au numéro de l’habitation se numéro est
incrémenté de façon automatique à la création d’une nouvelle habitation : exemple la
première habitation crée aura le numéro 1, la deuxième le numéro 2, etc.
• Propriétaire de type chaîne de caractères, et qui correspond au nom du propriétaire.
• Adresse de type chaîne de caractères, et qui correspond à l’adresse de l’habitation.
• Surface de type double, et qui correspond à la surface de l’habitation donnée en 𝑚2 et
qui permet de calculer le montant de l’impôt.
Les méthodes :
• double Impot() qui permet de calculer le montant de l’impôt que doit payer le
propriétaire de l’habitation à raison de 2 DT par 𝑚2 .
• void Affiche() qui permet d’afficher les trois attributs de la classe Habitation.
• Un constructeur à trois paramètres permettant d’initialiser une instance de la classe
Habitation : Habitation(String P, String A, double S);
La classe HabitationIndividuelle est une habitation qui possède en plus les attributs :
✓ NbPieces de type entier.
✓ Piscine de type booléen.
Pour les méthodes elle redéfini les méthodes Impot() et Affiche().

1
✓ Le calcul de l’impôt d’une maison individuelle est différent de celui d’une habitation, il
se calcule en fonction de la surface habitable, du nombre de pièces et de la présence ou
non d’une piscine. On compte 30 DT supplémentaires par pièce et 500 DT
supplémentaires en cas de présence d’une piscine.
✓ La méthode Affiche() doit afficher les attributs propriétaire, adresse et surface de la
classe Habitation, et les attributs NbPieces et Piscine propres à la classe
HabitationIndividuelle.
✓ Un constructeur à cinq paramètres.
La classe HabitationProfessionnelle est une habitation qui possède en plus l’attribut :
✓ NbEmployes de type entier
Pour les méthodes elle redéfini les méthodes Impot() et Affiche()
✓ Le calcul de l’impôt d’une habitation à usage professionnel est également différent de
celui d’une habitation. Il se calcule en fonction de la surface occupée par le bâtiment et
du nombre d’employés travaillant dans l’entreprise. On compte 1000 DT
supplémentaires par tranche de 10 employés.
✓ La méthode Affiche() doit afficher, en plus des attributs propriétaire, adresse et surface,
l’attribut NbEmployes.
✓ Un constructeur à quatre paramètres.
1. Créer la classe Habitation.
2. Créer la classe HabitationIndividuelle.
3. Créer la classe HabitationProfessionnelle.
On désire à présent calculer l’impôt pour chacune des habitations (individuelles ou
professionnelles) d’une commune. Pour cela, on va créer la classe Commune. La classe
Commune gère une collection d’objets représentée par un tableau d’éléments, où chaque
élément désigne une habitation individuelle ou professionnelle. La classe Commune comprend
donc les attributs suivants :
✓ Habit un tableau d’habitations
✓ Max de type entier, et qui correspond au nombre maximum d’habitation que peut
contenir une commune
✓ Nbr de type entier, et qui correspond au nombre des habitations actuelles au sein de la
commune.
Pour les méthodes la classe Commune possède :
✓ Un constructeur qui permet d’initialiser la taille maximale de la commune, instancier le
tableau et initialiser le nombre des habitations actuelles à zéro.

2
✓ Une méthode Ajout (Habitation h) qui permet d’ajouter une habitation à la commune.
✓ Une méthode Afficher () qui permet d’afficher les informations de toutes les habitations
de la commune.
✓ Une méthode double Calculer () qui permet de calculer et retourner le cumul de
l’ensemble des impôts encaissés par la commune.
4. Créer la classe Commune
5. Créer la classe Test qui permet de créer une Commune, ajouter des Habitations à la
commune, afficher les informations des différentes Habitations de la Commune et
calculer et afficher le cumul des impôts encaissés par la Commune.
er un programme de test.

Vous aimerez peut-être aussi