TP-programmation-orientee-o.../TP06/Geometrique.java

56 lines
1.4 KiB
Java
Raw Permalink Normal View History

2023-06-20 19:02:09 +00:00
import java.awt.Color;
/** Point modélise un point géométrique dans un plan équipé d'un
* repère cartésien. Un point peut être affiché et translaté.
* Sa distance par rapport à un autre point peut être obtenue.
* Le point peut être dessiné sur un afficheur.
*
* @author Xavier Crégut <Prénom.Nom@enseeiht.fr>
*/
abstract public class Geometrique {
//@ private invariant getCouleur() != null;
//@ private invariant getCouleur() == couleur; // invariant de liaison
private Color couleur; // couleur du point
/** Construire un point à partir de son abscisse et de son ordonnée.
*/
public Geometrique(Color couleur) {
this.couleur = couleur;
}
/** Afficher sur le terminal les caractéristiques de lobjet. */
abstract public void afficher();
/**
* Dessiner lobjet.
* @param afficheur Ecran sur lequel on dessine
* */
abstract public void dessiner(afficheur.Afficheur afficheur);
/**
* Translater lobjet géométrique.
* @param dx déplacement en X
* @param dy déplacement en Y
*/
abstract public void translater(double dx, double dy);
// Gestion de la couleur
/** Obtenir la couleur du point.
* @return la couleur du point
*/
//@ pure
public Color getCouleur() {
return this.couleur;
}
/** Changer la couleur du point.
* @param nouvelleCouleur nouvelle couleur
*/
public void setCouleur(Color nouvelleCouleur) {
this.couleur = nouvelleCouleur;
}
}