Bonjour,
J'ai toujours le même problème avec cet héritage !
Voilà mon code puis mon problème
Problème :
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
19
20
21
22
23
24
25
26
27
28 class A // pattern singleton { private static A instance = null; protected A() { ... } public static A GetInstance() { if(instance == null) instance = new A(); return instance; } } class B : A { // pattern singleton private static B instance = null; private B() { ... } public static B GetInstance() { if(instance == null) instance = new B(); return instance; } }
1. J'appelle B.GetInstance()
2. instance étant null, appel du constructeur B()
3. B() appel alors dans la classe parente A le constructeur A() !
Donc mon singleton A ne sert a rien, puisque A.GetInstance() n'est pas appelé.
J'aimerai alors, qu'au lieu que le constructeur B() appelle le constructeur A(), il appelle plutot A.GetInstance().
Est-ce possible ? Si oui comment ?
Si non, que faut-il remanier ?
Merci !
Partager