IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Polymorphisme et factory en VBA [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 787
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 787
    Par défaut 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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    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 :
    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
    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 !

  2. #2
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 787
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 787
    Par défaut
    Pour info, je n'avais pas bien écrit le nom de la fonction au moment de lui assigner la valeur ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA] [Interface] BringToFront/SendToBack
    Par DarkVader dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/10/2002, 14h29
  2. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  3. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 10h19
  4. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo