01 package fr.isae.geometry;
02
03 /**
04 * Tester le polymorphisme et la liaison dynamique.
05 *
06 * @author <a href="mailto:cregut@enseeiht.fr">Xavier Cregut</a>
07 * @version 1.0
08 */
09 public class TestPolymorphisme {
10
11 /** Methode principale */
12 public static void main(String args[]) {
13 // Creer et afficher un point p1
14 Point p1 = new Point(3, 4); // Est-ce autorise ? Pourquoi ?
15 p1.translater(10,10); // Quel est le translater qui est execute ?
16 System.out.print("p1 = "); p1.afficher (); System.out.println ();
17 // Qu'est ce qui est affiche ?
18
19 // Creer et afficher un point nomme pn1
20 PointNomme pn1 = new PointNomme (30, 40, "PN1");
21 // Est-ce autorise ? Pourquoi ?
22 pn1.translater (10,10); // Quel est le translater qui est execute ?
23 System.out.print ("pn1 = "); pn1.afficher(); System.out.println ();
24 // Qu'est ce qui est affiche ?
25
26 // Definir une poignee sur un point
27 Point q;
28
29 // Attacher un point a q et l'afficher
30 q = p1; // Est-ce autorise ? Pourquoi ?
31 System.out.println ("> q = p1;");
32 System.out.print ("q = "); q.afficher(); System.out.println ();
33 // Qu'est ce qui est affiche ?
34
35 // Attacher un point nomme a q et l'afficher
36 q = pn1; // Est-ce autorise ? Pourquoi ?
37 System.out.println ("> q = pn1;");
38 System.out.print ("q = "); q.afficher(); System.out.println ();
39 // Qu'est ce qui est affiche ?
40
41 // Definir une poignee sur un point nomme
42 PointNomme qn;
43
44 // Attacher un point a q et l'afficher
45 qn = p1; // Est-ce autorise ? Pourquoi ?
46 System.out.println ("> qn = p1;");
47 System.out.print ("qn = "); qn.afficher(); System.out.println ();
48 // Qu'est ce qui est affiche ?
49
50 // Attacher un point nomme a qn et l'afficher
51 qn = pn1; // Est-ce autorise ? Pourquoi ?
52 System.out.println ("> qn = pn1;");
53 System.out.print ("qn = "); qn.afficher(); System.out.println ();
54 // Qu'est ce qui est affiche ?
55
56 double d1 = p1.distance (pn1); // Est-ce autorise ? Pourquoi ?
57 System.out.println ("distance = " + d1);
58
59 double d2 = pn1.distance (p1); // Est-ce autorise ? Pourquoi ?
60 System.out.println ("distance = " + d2);
61
62 double d3 = pn1.distance (pn1); // Est-ce autorise ? Pourquoi ?
63 System.out.println ("distance = " + d3);
64
65 System.out.println ("> qn = q;");
66 qn = q; // Est-ce autorise ? Pourquoi ?
67 System.out.print ("qn = "); qn.afficher(); System.out.println ();
68
69 System.out.println ("> qn = (PointNomme) q;");
70 qn = (PointNomme) q; // Est-ce autorise ? Pourquoi ?
71 System.out.print ("qn = "); qn.afficher(); System.out.println ();
72
73 System.out.println ("> qn = (PointNomme) p1;");
74 qn = (PointNomme) p1; // Est-ce autorise ? Pourquoi ?
75 System.out.print ("qn = "); qn.afficher(); System.out.println ();
76 }
77 }
|