Bonjour
J'ai une question concernant le polymorphisme
puis quand je fait:
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 abstract class Mere { public Mere(){} public abstract void MyMethod(); } class Fille1 : Mere { public Fille1(){} public override void MyMethod(){//implementation 1} } class Fille2 : Mere { public Fille2(){} public override void MyMethod(){//implementation 2} }
il me sort:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Mere Inst_Mere; if (cond1) { Inst_Mere = new Fille1(); } else(cond1) { Inst_Mere = new Fille2(); } Inst_Mere.MyMethod();
Est-ce que l'instanciation dans une structure conditionnelle n'est pas permise?"Use of unassigned local variable Inst_Mere"
Y'a-t-il une manière plus propre d'implémenter le polymorphisme de méthodes en C#?
Merci pour vos eclaircissements.
Partager