SITE WEB de
François
BONNEVILLE

  Enseignement > Programmation orientée objet > Java > Travaux dirigés > TD n°4 - Collections de personnes
Rechercher sur le site :

TD n°4 - Collections

1 Introduction
On cherche à écrire des classes pour modéliser des personnes humaines.
On considère qu’une personne est caractérisée par son nom, son prénom, son sexe, ses parents, sa date de naissance et éventuellement sa date de décès.

2 Classe Personne
Ecrire une classe Personne et les méthodes permettant d’encapsuler les propriétés. Les constructeurs ne seront pas écrits dans cette classe qui sera abstraite : seuls des objets de classes descendantes (voir questions suivantes) pourront être instanciés.
Comment seront traités les cas suivants :

  • Une personne n’a pas de parents ?
  • Une personne n’est pas décédée ?

Ecrire une méthode mourir qui définit la date de décès. Redéfinir la méthode toString.

3 Classe Bebe
Ecrire une classe Bebe héritant de la classe Personne. Cette classe aura plusieurs constructeurs :

  • Bebe(boolean sexe, Personne pere, Personne mere, Date naissance, String prenom)
    Naissance d’un bébé dont le nom sera celui de son père
  • Bebe(boolean sexe, Personne mere, Date naissance, String prenom)
    Naissance d’un bébé de père inconnu dont le nom sera celui de sa mère
  • Bebe(boolean sexe, Date naissance, String prenom, String nom)
    Naissance d’un bébé de parents inconnus

Verifier la cohérence du sexe des parents par rapport à leur statut de père ou de mère, et générer éventuellement des exceptions.

4 Classe Enfant
Un enfant est une personne qui est scolarisée. Ecrire la classe, les propriétés et les méthodes nécessaires.
Un enfant sera « construit » par « métamorphose » d’un bébé :
Enfant(bebe b, String classe, String ecole)
Redéfinir la méthode toString.

5 Classe Adulte
Un adulte est une personne qui a une profession, qui peut se marier (on ne traitera que le cas de la monogamie). Ecrire la classe, les propriétés et les méthodes nécessaires (changement de profession, mariage, divorce)
Un adulte sera « construit » par « métamorphose » d’un enfant :
Adulte(Enfant e, String profession)
Redéfinir la méthode toString.

6 Un programme manipulant des personnes
Créer 2 personnes Adam et Eve et les faire évoluer du stade de « Bebe » à « Adulte »
Créer leurs enfants Abel et Cain.

7 Relations entre personnes
Ajouter à la classe Personne les méthodes permettant de savoir si 2 personnes sont

  • frères ou sœurs
  • demi-frères ou demi-sœur
  • Oncle / neveu
  • Cousins
  • Ancêtre l’un de l’autre
  • Afficher l’arbre généalogique (ascendant) d’une personne

8 Liste des enfants
Ajouter à la classe Personne une variable static population qui mémorise l'ensemble des personnes créées.
Ecrire une methode rechercheListeEnfants qui dresse la liste des enfants d'une personne parmi la population. Quel est l'incovenient de cette méthode ?
Que faut-il ajouter pour qu'une personne puisse connaitre facilement la liste de ses enfants ?

Ecrire l'arbre généalogiques des descendants d'une personne


     

    Mise à jour par l'éditeur le : 20/09/2006 - Copyright © 2014 - 2015 François Bonneville - Tous droits réservés
    Administré avec Agestis, outil de gestion de sites en ligne d' aricia

    Aricia - Le spécialiste internet du Jura

    site créé avec Agestis , système de gestion de contenu