ENPC - Programmation - Séance 3


Classe Disque

On veut maintenant définir la classe des disques, un disque étant défini par son centre, qui est un Point, et par son rayon, que l'on représentera par un double.
Le fait qu'un disque soit construit à partir d'un point (instance d'une classe existant déjà) s'appelle de la composition.

  1. Définir la classe Disque avec ses champs centre et rayon.
  2. Définir un constructeur acceptant en argument un Point et un double pour initialiser le disque créé.
  3. Définir un constructeur sans argument initialisant le centre du disque au point par défaut (celui construit par le constructeur de point sans argument) et le rayon à 1.
  4. Définir une méthode toString() dans la classe Disque qui donne une représentation sous la forme:
    Disque - centre: (0.0,0.0) rayon: 1.0
    Il est important ici d'utiliser la méthode toString() de la classe Point: c'est de la délégation (dans l'affichage d'un disque, l'affichage de son centre qui est un point est délégué à la classe Point qui a la responsabilité de l'affichage de n'importe laquelle de ses instances.
  5. Dans le même ordre d'idées, définir dans la classe Disque une méthode public void translate(double dx, double dy) qui déplace un disque.
  6. Définir une méthode retournant la surface d'un disque.
  7. Définir une méthode testant l'égalité de deux Disques.

Encore la classe Disque

  1. Définir les classes Point et Disque décrites ci-dessus avec toutes leurs méthodes.
  2. Définir une méthode isIn dans la classe Disque, qui accepte un Point en argument, qui retourne true si le point est dans le disque et false sinon.
  3. Définir une méthode howManyIn dans la classe Disque, qui accepte un tableau de Points en argument et qui retourne le nombre de Points du tableau qui sont dans le disque auquel la méthode est appliquée.

Nicolas.Bedon[at]univ-mlv.fr - Etienne.Duris[at]univ-mlv.fr - © ENPC - Novembre 2002 - http://www-igm.univ-mlv.fr/~duris/ENPC