Chenille

Transcription

Chenille
La Chenille
© Philippe GENOUD
UJF
Décembre 2013
1
L'application "Chenilles"

Programme qui dessine des
"chenilles animées"
 Une ou plusieurs chenilles se
déplacent dans une fenêtre
 Lorsque leur tête atteint l'un des
bords de l'écran elles changent
de direction
démo

Quelles sont les classes nécessaire à l'écriture de cette application ?
© Philippe GENOUD
UJF
Décembre 2013
2
Chenille
X
(0,0)
anneaux
tête
Trois classes d’objets
Y
Chenille
chenille
Anneau
© Philippe GENOUD
UJF
Décembre 2013
Tête
3
Héritage : Rappels
X
(0,0)
Anneau
r.x,y
int x;
int y;
int r;
attributs
constructeurs
Y
r.
x,y
cap
méthodes
Anneau(int x, int y, int r)
Anneau(int x, int y)
int getX()
int getY()
void placerA(int x, int y)
void dessiner(Graphics g)
La tête est un cas particulier d’Anneau.
Une tête est un (is a) Anneau
La classe Tête étends (hérite) de la classe Anneau
Tête
double cap;
Tête(int x, int y, int r, double c)
Tête(int x, int y)
attribut supplémentaire
constructeurs
méthodes supplémentaires
boolean capOK(int xMax, int yMax)
void modifierCap(double deltaCap)
void deplacerSelonCap()
redéfinition de la méthode
void dessiner(Graphics g)
© Philippe GENOUD
UJF
Décembre 2013
4
Composition / Héritage
Une chenille a un ou
plusieurs anneaux.
Anneau
1..*
corps
int x;
int y;
int r;
Une chenille
connaît
un Dessin
Chenille
Chenille(int nbA, Dessin d)
void deplacer()
void dessiner(Graphics g)
void setDessin(Dessin d)
Anneau(int x, int y, int r)
Anneau(int x, int y)
dess
int getX()
int getY()
void placerA(int x, int y)
void dessiner(Graphics g)
Une chenille
a une tête.
Dessin
int getLargeur()
int getHauteur()
...
Relation de
Composition
1
tête
Une chenille est composée d’anneaux
et d’une tête et se déplace dans une zone dessin.
Tête
double cap;
Tête(int x, int y, int r, double c)
Tête(int x, int y)
void dessiner(Graphics g)
La classe Chenille utilise les classes
Tête et Anneau et Dessin.
attributs (variables d'instance) :
boolean capOK(int xMax, int yMax)
void modifierCap(double deltaCap)
void deplacerSelonCap()
- tête un objet de classe Tête
- corps un objet tableau d’Anneau.
- dess un objet de classe Dessin
© Philippe GENOUD
UJF
Décembre 2013
5