Objets géométriques - Université de Bourgogne
Transcription
Objets géométriques - Université de Bourgogne
2,5 Université de Bourgogne Année universitaire 2015-2016 Info 21 — programmation objet et algorithmique ! TP 4 — plusieurs classes Objectif : Construire un programme comportant plusieurs classes. Objets géométriques 1. Construisez un nouveau projet Geom avec les classes qui permettent de représenter des points, disques, segments et triangles, selon les modalités vues en TD. Faites figurer les modificateurs d'accès (public, private). Les classes devront avoir au moins un constructeur standard et un constructeur de clonage, plus éventuellement d'autres s'il est possible de calculer les valeurs des attributs d'une instance à partir d'autres données1. Pour écrire les constructeurs, les accesseurs et les entrées de la javadoc, vous pouvez utiliser la commande Insérer du code du menu Source (explorez les différentes possibilités). 2. Ajoutez à toutes les classes un attribut nom et ses accesseurs. Faites en sorte que le constructeur de clonage de chaque classe ajoute le caractère "'" — pour "prime" — au nom de l'objet pris pour modèle. Le nom du milieu d'un segment est "milieu_S" si "S" est le nom du segment. Le nom d'un segment ou d'un triangle ne sont pas nécessairement spécifiés lors de la construction ; ils seront alors automatiquement générés par le constructeur en concaténant (en mettant bout à bout) les noms des points qui les définissent. Par exemple, les instructions : Segment P1_P2' -- Extrémité 1 -Point P1 >> abscisse : 0.5 >> ordonnée : 1.5 -- Extrémité 2 -Point P2' >> abscisse : 1.5 >> ordonnée : 0.5 -- Milieu -Point milieu_P1_P2' >> abscisse : 1.0 >> ordonnée : 1.0 -- Longueur ->> 1.4142135623730951 ------------- Point P1 = new Point(0.5, 1.5, "P1"); Point P2 = new Point(1.5, 0.5, "P2"); Segment S = new Segment(P1, new Point(P2)); permettent d'obtenir un segment qui a les caractéristiques ci-dessus à droite. Par exemple, les trois sommets d'un triangle peuvent être calculés à partir d'un segment et un point. 1 3. Ajoutez à ces classes une méthode toString qui doit résumer l'ensemble des propriétés principales et dérivées d'un objet. Par exemple, pour un segment, on aura le résultat ci-dessus à droite. On voit que l'affichage des caractéristiques d'un objet doit aussi permettre d'afficher celles de tous ses composants. Ici, l'affichage des propriétés d'un segment doit induire celle de ses extrémités et de son milieu. 2 P3 P1 1,5 T 1 1 S D P2 0,5 0 0 0,5 1 1,5 2 1 4. Placez dans la méthode main de la classe principale (la classe Main) les instructions suivantes, qui permettent de construire la scène de la page précédente : Point P1=new Point(0.5,1.5,"P1"); Point P2=new Point(1.5,0.5,"P2"); Segment S=new Segment(P1,new Point(P2),"S"); Disque D=new Disque(S.getMilieu(),0.5,"D"); Triangle T=new Triangle(S,new Point(2,1.5,"P3"),"T"); 5. Ajoutez les lignes qui permettent de faire afficher les caractéristiques de tous les objets de la scène (en utilisant les toString). Testez votre programme et modifiez le si le résultat n'est pas conforme aux spécifications de l'énoncé. 6. À la suite du premier affichage, modifiez le point P2 en lui donnant désormais pour abscisse 0.5. Faites afficher à nouveau les caractéristiques des divers objets de la scène. Expliquez les modifications observées (si vous n'y parvenez pas, demandez à l'enseignant). Faites de même en prenant 1.5 comme abscisse pour P1. 7. Faites les modifications nécessaires dans la construction (utilisation des constructeurs de clonage) pour que la modification des points n'ait plus d'influence sur les autres instances. 2,5
Documents pareils
POO : Java — TD n°2 Le Java Orienté Objet Exercices
a) écrire la méthode centre retournera le centre du cercle,
b) écrire la méthode longueur calculera la circonférence du cercle,
c) écrire la méthode dessine affichera le message « Au compas : » sui...