Bonjour,

J'ai une petite question sur les mots-clés utilisés pour l'héritage.

J'ai une classe abstraite GenericAbstractClass qui a une méthode compute qui rend un objet GenericObject.

J'ai deux types dérivées : A et B. On a donc respectivement une classe AClass et BClass qui dérivent de GenericAbstractClass et AObject et BObject qui dérivent de GenericObject.

Est-ce que je peux redéfinir compute dans AClass et dans BClass pour qu'elle rende respectivement AObject et BObject ?

Je fais pour l'instant dans GenericAbstractClass :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
public abstract GenericObject compute()
j'aimerais avoir un truc du genre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
public abstract new AObject compute()
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public abstract new BObject compute()

[Edit : AClass et BClass sont également abstraites, le but c'est d'avoir des classes A1Class, A2Class, etc... qui sachent qu'on rende un AObject]
[Re-Edit : une solution ça serait de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
public override GenericObject compute(){return this.computeA();}
public abstract AObject computeA()
Mais, euh, bof.
]