import fr.jussieu.script.*;
class Point
{
int abs, ord;
char nom;
}
class Test
{
@param@param@param@return
static Point nouveau (int x, int y, char c)
{
Point p = new Point ();
p.abs = x;
p.ord = y;
p.nom = c;
return p;
}
static Point translate (Point a, int dx, int dy)
{
Point p = new Point ();
p.abs = a.abs + dx;
p.ord = a.ord + dy;
p.nom = a.nom;
return p;
}
static Point milieu (Point a, Point b, char c)
{
Point p = new Point ();
p.abs = (a.abs + b.abs)/2;
p.ord = (a.ord + b.ord)/2;
p.nom = c;
return p;
}
static void deplacer (Point a, int x, int y)
{
a.abs = x;
a.ord = y;
}
static void translater (Point a, int dx, int dy)
{
deplacer (a, a.abs + dx, a.ord + dy);
}
static void ajouter (Point a, Point b)
{
translater (a, b.abs, b.ord);
}
@param
static void afficher (Point p)
{
Deug.println ("Point " + p.nom + " d'abscisse " + p.abs + " et d'ordonnée " + p.ord);
}
public static void main (String [] args)
{
Deug.println ("Utilisation des méthodes accédant aux champs");
Point p = nouveau (1,2,'x');
Deug.print("\t\t(Variable p) ");
afficher(p);
Point q = translate (p, 2, 2);
Deug.print("\t\t(Variable q) ");
afficher(q);
Point r = milieu(p,q,'a');
Deug.print("\t\t(Variable r) ");
afficher(r);
Deug.println ("\nUtilisation des méthodes modifiant les champs");
Deug.print("\t\t(Variable p) ");
afficher(p);
deplacer (p,10,10);
Deug.print("\n\tAprès deplacer(p,10,10)\n\t\t(Variable p) ");
afficher(p);
translater (p,4,5);
Deug.print("\n\tAprès translater(p,4,5)\n\t\t(Variable p) ");
afficher(p);
ajouter (p,p);
Deug.print("\n\tAprès ajouter(p,p)\n\t\t(Variable p) ");
afficher(p);
}
}