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