Programmation Java Avancée
Master M2 TTT --- Feuille n° 3
Introspection
Exercice n° 1
Écrire une interface Fraction déclarant les services de base sur une
fraction: accès en lecture et écriture au numérateur et dénominateur,
méthodes addTo, multTo, etc.
Écrire une classe ConcreteFraction qui implémente cette interface
et contient deux champs privés numerator et
denominator de type int.
Exercice n° 2
Écrire un programme qui, étant donné une classe affiche la "carte
d'identité" de la classe: son nom, ses constructeurs, champs et
méthodes, etc. Appliquer ce programme à la classe ConcreteFraction.
Exercice n° 3
Écrire un programme qui charge la classe intros.MaClass
qui se trouve dans le fichier http://igm.univ-mlv.fr/~lombardy/ens/JavaTTT/intros/MaClass.class, qui affiche la carte d'identié de cette classe et appelle la méthode qu'elle contient.
Exercice n° 4
On souhaite maintenant qu'à chaque appel d'une méthode de la classe
Fraction, un message s'affiche au début et à la fin de l'appel de la
méthode, sans modifier le code de la classe Fraction.
Écrire une classe ProxyFraction qui implémente Fraction;
à chaque objet ProxyFraction correspond un objet
ConcreteFraction, chaque méthode de ProxyFraction a un code
identique, elle affiche les messages voulus et appelle la méthode
correspondante de ConcreteFraction.
Exercice n° 5
Utiliser la classe Proxy pour ne pas avoir à réécrire toutes les
méthodes de Fraction