Une classe abstraite pour gérer un tableau trié d' Object(s)
L'objectif est de de définir une classe abstraite destinée à gérer un tableau trié d'Object(s) et comportant une méthode abstraite plusGrand. Cette classe devra comparant deux Object. Pour gérer un tableau trié d'objets d'un certain type, il faudra l'étendre la classe abstraite en une classe définissant la méthode plusGrand pour le type d'objets en question.
On construira :
Une classe abstraite TableauTrieAbstrait gérant un tableau d'Object(s) qui reste toujours trié par ordre croissant par rapport à la relation définie par une méthode abstraite plusGrand. On propose de reprendre le corrigé de l'exercice concernant un tableau triés d'objets implémentant l'interface Ordonnable. Cette classe devra contenir au moins
- une méthode abstraite plusGrand
- une méthode inserer pour insérer une instance de Object dans le tableau
- une méthode supprimer pour supprimer une instance de Object du tableau. Si cette méthode utilise la méthode equals de java.lang.Object, il faudra que la classe des objets qui seront dans le tableau redéfinisse cette méthode.
- une méthode toString qui redéfinie la méthode toString de Object.
Une classe TableauTrieEntiers qui étend la classe TableauTrieAbstrait ; cette classe est destinée à gérer un tableau trié d'Integer. Il faut essentiellement y définir la méthode plusGrand pour des Integer.
Une classe, EssaiTrieAbstrait qui contienne une méthode main qui prend en arguments une liste d'entiers et qui :
- met chaque entier dans une instance d'Integer
- insère les instances d'Integer dans une instance de TableauTrieEntiers
- affiche les entiers par ordre croissant.
- demande un entier à supprimer, et le supprime s'il existe
- affiche la liste triée des entiers restants.
Pour ceux qui ont fait l'exercice gérant un tableau trié d'objets Ordonnable(s), il suffit d'adapter le fichier équivalent, dont on redonne le corrigé.
Corrigé :