Bonjour,
OBJECTIFS : utilisation de l’héritage, du polymorphisme et des exceptions.
Vous réalisez une classe Vivant pour représenter un être vivant. Les variables
d’instance de la classe sont nom, milieuDeVie (eau, terre ou airTerre) et
complexité, un indice de complexité allant de 1 à 10 (du moins complexe au plus complexe). La classe doit contenir une méthode abstraite pour afficher le mode de déplacement de l’être vivant. La classe Vivant doit implanter l’interface Comparable : les objets de la classe Vivant sont ordonnés selon l’indice de complexité(compareTo).
À partir de la classe Vivant, vous réalisez trois sous-classes : Humain, Animal et Plante.
• La classe Humain a une variable d’instance : numéro . Elle redéfinit la méthode déplacement en affichant un message qui indique qu’un humain est bipède et qu’il pourrait nager.
• La classe Animal a deux variables d’instance : deux booléennes pour savoir si
l’animal est domestique et, si c’est un mammifère. Elle redéfinit la méthode
déplacement en affichant un message qui indique qu’un animal peut marcher
et/ou nager et/ou voler.
• La classe Plante a une variable d’instance booléenne : comestible. Elle
redéfinit la méthode déplacement avec un message qui indique qu’une plante
ne se déplace pas.
Chaque classe devrait avoir un ou plusieurs constructeurs, une redéfinition de la méthode equals qui utilise les noms et une méthode toString. Les
constructeurs doivent au moins définir la complexité. Si la complexité est en dehors de l’intervalle de 1 à 10, le constructeur doit lancer une exception
ComplexitéIncorrecte.
Vous faites aussi un programme pilote. Le programme pilote permettra de constituer un tableau d’objets de type Vivant. Il permettra aussi d’afficher les éléments du tableau, de trier le tableau, de rechercher un élément dans le tableau.
La séquence d’opérations est la suivante :
• Mettre les objets dans le tableau : vous devez intercepter l’exception
ComplexitéIncorrecte ;
• Afficher les éléments du tableau ;
• Trier le tableau selon la complexité : utiliser la recherche linéaire;
• Afficher de nouveau les éléments du tableau ;
• Chercher un élément qui se trouve dans le tableau à partir d’un nom ;
• Chercher un élément qui ne se trouve pas dans le tableau.
Partager