Polymorphisme et templates
Bonjour,
J'ai un petit soucis avec les templates et le polymorphisme :
J'ai une classe Mère abstraite et des classes FilleA et FilleB qui en héritent.
Ma classe Mère va avoir des méthodes que vont devoir surcharger les classe filles.
Seulement, elle vont devoir changer les types des paramètres.
J'ai donc fait comme ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
abstract class Mère<T>
{
public abstract T maMéthode(T param)
}
class Fille1 : Mère<T1>
{
public T1 maMéthode(T1 param)
}
class Fille2 : Mère<T2>
{
public T2 maMéthode(T2 param)
} |
Jusqu'ici tout va bien !
Mais, dans une autre classe j'ai besoin de créer soit une instance de Fille1 soit de fille 2 donc j'ai fait ça :
Code:
1 2 3 4 5 6 7 8
|
public static Mère()
{
if test
return new Fille1;
else
return new Fille2;
} |
Mais là il me dit
Citation:
L'utilisation du type 'Mère<T>' générique requiert les arguments de type '1'