TD 9

publicité
CNAM
TD 9
NFP121
04/01/2011 (Séance 9)
Introspection et collections
Exercice 1 : Supertypes d’une classe
Dans cet exercice, nous nous intéressons aux supertypes d’une classe, soit ses superclasses, soit
les interfaces qu’elle réalise.
1.1 Écrire une classe qui affiche les superclasses d’une classe identifiée par son nom. Les super
classes seront affichées à l’image de ce que produit javadoc pour la documentation Java.
Voici un exemple d’utilisation ce cette classe.
% java AfficheurAncetres java.util.ArrayList
java.util.ArrayList
\---|> java.util.AbstractList
\---|> java.util.AbstractCollection
\---|> java.lang.Object
1.2 Compléter le programme précédent pour qu’il affiche toutes les interfaces qui sont réalisées
par une classe donnée. On envisagera plusieurs modes pour afficher ces interfaces :
– mode brut : les interfaces sont listées dans l’ordre où elles sont rencontrées,
– mode sans double : on ne collecte pas une interface déjà collectée,
– mode ordonnée : il s’agit de mode sans double dans lequel les interfaces sont ordonnées
suivant l’ordre lexicographique de leur nom.
Exercice 2 : Déterminer si une méthode est une redéfinition
L’objectif de cet exercice est d’écrire une application capable de dire si une méthode est une
redéfinition ou non.
2.1 Indiquer les arguments de la ligne de commande à considérer.
2.2 Écrire une méthode qui dit si une méthode est redéfinie dans une classe donnée. On se
limitera aux méthodes dont les types de paramètres sont des types classe (ou interface).
2.3 Compléter la question précédente pour gérer aussi le cas des types primitifs (int, double,
etc.).
TD 9
1/1
Téléchargement