Polymorphisme et objets stockés dans un vector
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 :
Code:
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)
{
.....
}
} |
et des classes ObjDrawRect et ObjDrawCercle qui en heritent mais avec des attributs en plus *> ex :
Code:
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 :lol: .
merci a vous