Vous êtes sur la page 1sur 3

Master 1 Informatique - CERI - Universit dAvignon et des Pays de Vaucluse

Mise Niveau Java


Travaux Pratiques :
Impts Locaux

!
!

Dans le cadre de linformatisation dune mairie, on veut automatiser le calcul des impts locaux. On
distingue deux catgories dhabitation : les habitations usage professionnel et les maisons
individuelles, limpt se calculant diffremment selon le type dhabitation. Pour cela, on dfinit les
classes HabitationProfessionnelle et HabitationIndividuelle et les caractristiques communes ces
deux classes sont regroupes dans la classe Habitation. On a donc un schma de classes o les
classes HabitationProfessionnelle et HabitationIndividuelle hritent de la classe Habitation. Lobjet
de cet exercice est dimplmenter ce schma dhritage et de mettre en uvre le mcanisme de
liaison dynamique.

!!
Exercice 1 : La classe Habitation
!
La classe Habitation comprend les attributs (privs) :

!

- proprietaire du type chane de caractres et qui correspond au nom du propritaire,



- adresse du type chane de caractres et qui correspond ladresse de lhabitation,

- surface du type double et qui correspond la surface de lhabitation (permet le calcul du montant
de limpt).

!
ainsi que les mthodes (publiques) :

!

- double impot() qui permet de calculer le montant de limpt que doit payer le propritaire de
lhabitation raison de 10 par m2.

- void affiche() qui permet dafficher les trois attributs de la classe Habitation.

et enfin un constructeur trois paramtres permettant dinitialiser une instance de la classe


Habitation :

!
public Habitation(String p, String a, double s);

!

Il vous est demand ici de dfinir la classe Habitation selon les dfinitions donnes, ainsi que de
tester cette classe (vous construirez vous-mme vos jeux de test) ainsi que la documentation
Javadoc.

!
!
Exercice 2 : Les classes HabitationIndividuelle et HabitationProfessionnelle
!

Le calcul de limpt dune maison individuelle est diffrent de celui dune habitation, il se calcule
en fonction de la surface habitable, du nombre de pices et de la prsence ou non dune piscine. On
compte 50/pice et 100 supplmentaire en cas de prsence dune piscine.

Dfinissez alors la classe HabitationIndividuelle (qui hrite de la classe Habitation). Ajoutez les
attributs nbPieces de type entier et piscine de type boolen. Redfinir les mthodes impot() et
1/3

Master 1 Informatique - CERI - Universit dAvignon et des Pays de Vaucluse

affiche(). La mthode affiche() doit afficher, les attributs proprietaire, adresse et surface de la classe
Habitation, et les attributs nbPieces et piscine propres la classe HabitationIndividuelle. La
premire ligne de la mthode affiche(), commencera par linstruction super.affiche(), permettant
dappeler la mthode affiche de la classe mre Habitation.

!
Testez ensuite votre programme au moyen du scnario que vous voulez.

!

Le calcul de limpt dune habitation usage professionnel est galement diffrent de celui dune

habitation. Il se calcule en fonction de la surface occupe par le btiment et du nombre demploys
travaillant dans lentreprise. On compte 250 supplmentaire par tranche de 10 employs.

Dfinissez maintenant la classe HabitationProfessionnelle (qui hrite de la classe Habitation).


Ajoutez lattribut nbEmployes de type entier et redfinissez les mthodes impot() et affiche(). La
mthode affiche() doit afficher, en plus des attributs proprietaire, adresse et surface, lattribut
nbEmployes.

!
Testez enfin cette nouvelle classe.

!

Vous devez maintenant vrifier que lattribut nbEmployes ne soit pas ngatif ou nul (toujours > 0).
Crez une exception qui permette cette gestion. Enfin, testez cette exception avec un exemple.

!
Exercice 3 : Mini-programme de gestion des impts locaux
!

De la mme manire que le TP prcdent sur la gestion dune banque, vous construirez un miniprogramme permettant de grer les impts locaux de diffrentes habitations. Bien entendu, vous
pourrez modifier vos classes afin de rendre ce programme plus attractif.

!
Exemple dinteraction :
!

Quelle opration voulez-vous effectuer?


1) Ajouter une habitation
2) Modifiez une habitation existante
3) Calculer le montant de limpt pour une habitation

!
-1
!
Entrez le nom de loccupant :
!
M. Dupont
!
Entrez le type dhabitation :
1) Individuelle
2) Professionnelle

!
-1
!
Entrez le nombre de pices :
!
-4
!
2/3

Master 1 Informatique - CERI - Universit dAvignon et des Pays de Vaucluse

Une piscine est-elle prsente ?


1) oui
2) non

!
-1
!

M. Dupont vient dtre rattach une habitation individuelle contenant 4 pices mais pas de
piscine.

Quelle opration voulez-vous effectuer?


1) Ajouter une habitation
2) Modifiez une habitation existante
3) Calculer le montant de limpt pour une habitation

!
-3
!
Quel occupant recherchez-vous ?
!
Dupont
!

M. Dupont occupant une maison individuelle devrait payer XXX euros.


...
Fin de lexemple.

3/3