92 lines
2.9 KiB
Java
92 lines
2.9 KiB
Java
|
/** Comprendre les objets et les poignées sur la classe Point.
|
||
|
* @author Xavier Crégut
|
||
|
* @version 1.6
|
||
|
*/
|
||
|
public class ExempleComprendre {
|
||
|
|
||
|
/** Afficher un point précédé d'un texte.
|
||
|
* @param texte le texte à afficher
|
||
|
* @param p le point à afficher
|
||
|
*/
|
||
|
public static void afficher(String texte, Point p) {
|
||
|
System.out.print(texte + " = ");
|
||
|
p.afficher();
|
||
|
System.out.println();
|
||
|
}
|
||
|
|
||
|
/** Méthode principale */
|
||
|
public static void main(String[] args) {
|
||
|
// Créer et afficher un point p1
|
||
|
Point p1; // déclarer une poignée sur un Point
|
||
|
p1 = new Point(3, 4); // créer un point et l'attacher à p1
|
||
|
// On peut écrire les deux instructions précédentes sur la
|
||
|
// même ligne. Ceci évite d'oublier d'initialiser une
|
||
|
// poignée.
|
||
|
afficher("p1", p1);
|
||
|
|
||
|
// Créer et afficher un point p2
|
||
|
Point p2 = new Point(0, 0); // On déclare des poignées et on
|
||
|
// crée des objets quand on veut.
|
||
|
afficher("p2", p2);
|
||
|
|
||
|
// Afficher la distance entre p1 et p2
|
||
|
double d = p1.distance(p2);
|
||
|
System.out.println("Distance de p1 à p2 : " + d);
|
||
|
|
||
|
// Translater p1
|
||
|
System.out.println("> p1.translater(6, -2);");
|
||
|
p1.translater(6, -2);
|
||
|
afficher("p1", p1); // Qu'est ce qui est affiché ?
|
||
|
|
||
|
// Changer l'abscisse de p1 et afficher p1
|
||
|
System.out.println("> p1.setX(0);");
|
||
|
p1.setX(0);
|
||
|
afficher("p1", p1); // Qu'est ce qui est affiché ?
|
||
|
|
||
|
// Changer l'ordonnée de p1 et afficher p1
|
||
|
System.out.println("> p1.setY(10);");
|
||
|
p1.setY(10);
|
||
|
afficher("p1", p1);
|
||
|
// Dessiner l'état de la mémoire
|
||
|
// Prendre une nouvelle poignée sur p1
|
||
|
System.out.println("> Point p3 = p1;");
|
||
|
Point p3 = p1;
|
||
|
afficher("p3", p3); // Qu'est ce qui est affiché ?
|
||
|
afficher("p1", p1); // Qu'est ce qui est affiché ?
|
||
|
|
||
|
// Déplacer p3
|
||
|
System.out.println("> p3.translater(100, 100);");
|
||
|
p3.translater(100, 100);
|
||
|
afficher("p3", p3); // Qu'est ce qui est affiché ?
|
||
|
|
||
|
// Afficher p1
|
||
|
afficher("p1", p1); // Qu'est ce qui est affiché ?
|
||
|
|
||
|
// Dessiner l'état de la mémoire
|
||
|
// Affectations entre poignées
|
||
|
System.out.println("> p3 = new Point(123, 321);");
|
||
|
p3 = new Point(123, 321);
|
||
|
afficher("p3", p3); // Qu'est ce qui est affiché ?
|
||
|
afficher("p1", p1); // Qu'est ce qui est affiché ?
|
||
|
|
||
|
System.out.println("> p1 = p2 = p3;");
|
||
|
p1 = p2 = p3;
|
||
|
// Dessiner l'état de la mémoire
|
||
|
afficher("p1", p1); // Qu'est ce qui est affiché ?
|
||
|
afficher("p2", p2); // Qu'est ce qui est affiché ?
|
||
|
afficher("p3", p3); // Qu'est ce qui est affiché ?
|
||
|
|
||
|
// p1, p2 et p3 sont-ils des points différents ?
|
||
|
System.out.println("> p1.translater(-123, -321);");
|
||
|
p1.translater(-123, -321);
|
||
|
afficher("p1", p1); // Qu'est ce qui est affiché ?
|
||
|
afficher("p2", p2); // Qu'est ce qui est affiché ?
|
||
|
afficher("p3", p3); // Qu'est ce qui est affiché ?
|
||
|
|
||
|
d = new Point(5, 5).distance(new Point(8, 1));
|
||
|
System.out.println("d = " + d);
|
||
|
|
||
|
// Combien y a-t-il de points accessibles ?
|
||
|
}
|
||
|
}
|