Bonjour, j'ai différentes formes que l'utilisateur a dessiné dans mon appli.
J'essaye de mettre en oeuvre le polymorphisme en créant une classe ObjDraw :
et des classes ObjDrawRect et ObjDrawCercle qui en heritent mais avec des attributs en plus *> ex :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 class ObjDraw { int typeobj; Polygon polyobj; String label; public ObjDraw (int typeobj, Polygon polyobj, String label) { ..... } draw(Graphics g, int tx, int ty, double echelle, int[] cadre) { ..... } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 class ObjDrawRect extends ObjDraw { public ObjDrawRect(int typeobj, Polygon polyobj, String label) { super(typeobj, polyobj, label); ..... } draw(Graphics g, int tx, int ty, double echelle, int[] cadre) { super(g, tx, ty, echelle, cadre); SystemOut.println("draw rectangle"'); code spécifique au rectangle ..... } }
Je stocke mes objets dans un Vector mais quand je parcours mon vector et que je cast mon Objets selon typeobj en ObjDrawRect et que j'appel la methode draw et bien seul le code de ObjDraw est appelé.
Avez vous une idée car sinon je vais être oblige de laisser tomber le polymorphisme pour faire une classe avec des switch et if else et ce n'est pas tres tres beau .
merci a vous
Partager