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.
- Définir la classe Disque avec ses champs centre
et rayon.
- Définir un constructeur acceptant en argument un Point
et un double pour initialiser le disque créé.
- 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.
- 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.
- 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.
- Définir une méthode retournant la surface d'un disque.
- Définir une méthode testant l'égalité de deux Disques.
Encore la classe Disque
- Définir les classes Point et Disque décrites
ci-dessus avec toutes leurs méthodes.
- 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.
- 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.