Polymorphisme et factory en VBA

Bonjour,

Mon objectif est le suivant : je voudrais gérer en VBA du polymorphisme c'est-à-dire du point de vue VBA une classe d'interface qui est implémentée par d'autres classes et coupler cela à une fonction factory, c'est à dire qui me permet d'initier les propriétés des objets.

La classe d'interface s'appele ILiving

Les classes qui implémentent cette interface s'appellent CLasse_predateur, Classe_Proie, Classe_Ressource

Voici le code que j'ai pour tester ceci :

Dim ma_variable_1 As ILiving
Dim ma_variable_2 As ILiving

Set ma_variable_2 = Factory.Initiliaze_ILiving(predateur, 12, 2)

MsgBox ma_variable_2.column

Ici, le but est que la fonction "Initialize_Iliving" du module Factory me renvoie un objet dans ma_variable_2

Dans cette fonction j'ai :

Public Function Initiliaze_ILiving(specy As Species, row As Integer, column As Integer) As ILiving

Dim temp_living As ILiving
Select Case specy
Case predateur
Set temp_living = New Classe_predateur
Case Proie
Set temp_living = New Classe_Proie
Case Ressource
Set temp_living = New Classe_Ressource
End Select

temp_living.column = column

MsgBox temp_living.column

Set Initialize_ILiving = temp_living
End Function

Mon souci est le suivant : à l'intérieur de ma fonction, mon polymorphisme semble fonctionné, en cela que l'objet temp_living est créé, que sa propriété column est bien renseignée, mais surtout, plus important, que le code utilisépour le Let et Get de cette propriété est bien le code respectif des classes Classe_Proie, CLasse_ressource ou CLasse_predateur selon la valeur de specy.

Le problème en revanche, c'est que lorsque je sors de la fonction "Initiliaze_ILiving", la propriété column de mon objet "ma_variable_2" n'a pas été renseignée ... rien nada

Avez-vous svp une idée de ce que je ne fais pas correctement ?

Merci de votre aide !

Rechercher des sujets similaires à "polymorphisme factory vba"