56 lines
1.4 KiB
Java
56 lines
1.4 KiB
Java
|
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 l’objet. */
|
|||
|
abstract public void afficher();
|
|||
|
|
|||
|
/**
|
|||
|
* Dessiner l’objet.
|
|||
|
* @param afficheur Ecran sur lequel on dessine
|
|||
|
* */
|
|||
|
abstract public void dessiner(afficheur.Afficheur afficheur);
|
|||
|
|
|||
|
/**
|
|||
|
* Translater l’objet 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;
|
|||
|
}
|
|||
|
|
|||
|
}
|