documenttp

Upload: hamza-zouhair

Post on 06-Oct-2015

16 views

Category:

Documents


0 download

DESCRIPTION

Java

TRANSCRIPT

  • 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 mini-programme 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