TD : Compilation d'exercices et d'extraits d'examens

S'il ne l'est pas proposez une correction. A.java. B.java public class A { public class B extends A{ public int ...

Part of the document

Généricité et figures 2010 (4 points)
On souhaite donner la possibilité d’uniformiser les sommets d’un polygone en forçant ceux-ci à être
des pointNommé ou des pointPondéré, … Pour cela on utilise une version générique de la classe
polygone. Les sommets sont stockés dans une liste chaînée et le paramètre générique doit garantir
que les sommets soient des points.
1. Ecrivez l’entête de la classe polygone générique
2. Ecrivez la déclaration de la liste chaînée
3. Ecrivez le constructeur de la classe polygone
4. Ecrivez la méthode getPoints() qui renvoie la liste de points
6. Clonage et liste chaînée 2010(5 points)
Soit A une classe implémentant l’interface Cloneable, et B une classe
n’implémentant pas l’interface Cloneable, le code suivant est extrait de la
méthode main de la classe test
LinkedList Liste = new LinkedList ();
Liste.add(new A());
Liste.add(new B());
LinkedList Liste2 = (LinkedList) Liste.clone();
1. Sachant que ce code ne renvoie pas d’erreur ni à la compilation ni à l’exécution, expliquez
sont fonctionnement et l’état de la mémoire.
2. Comment s’appelle le clonage réalisé par la classe LinkedList ?
3. Si on voulait réaliser l’autre type de clonage sur les LinkedList, quelle condition serait
nécessaire sur les objets passés à la liste ?
4. Comment s’appelle le (LinkedList) devant Liste.clone() et pourquoi est-ce
nécessaire dans le cas de la method clone().
7. Les poupées russes 2010(7 points)
On veut modéliser le fonctionnement d’un ensemble de poupées russes. Une poupée russe est une
sorte de boîte. Il en existe de différentes tailles et on peut placer une poupée dans une autre plus
grande dès lors que la plus petite est fermée et la plus grande ouverte.
1. Quels sont les caractéristiques qui définissent une poupée russe ou son état ?
2. Ecrire la classe PoupeeRusse contenant les méthodes suivantes
a. Constructeur
Fiche Exercices POO- JAVA UEO55.1
Licence MI
2011-2012
b. Public void ouvrir() : ouvre la poupée si elle n’est pas déjà ouverte et si elle ne se
trouve pas à l’intérieur d’une autre poupée
c. Public void fermer() : ferme la poupée si elle n’est pas déjà fermée et si elle ne se
trouve pas à l’intérieur d’une autre poupée
d. Public void placerDans(PoupeeRusse p) : place la poupée courante dans la poupée p
si elle n’est pas déjà dans une autre et si la poupée p ne contient aucune autre
poupée et si la poupée courante est fermée et la poupée p est ouverte et plus grande
e. Public void sortirDe(PoupeeRusse p) : sort la poupée courante de la poupée p si elle
est dans p et si p est ouverte
Vous devez ajouter les attributs dont vous avez besoin.