1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WD Héritage d'une classe abstraite .NET

Discussion dans 'Windev' créé par redha2010, Août 14, 2018.

Tags:
  1. channibal

    channibal Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 22, 2018
    Messages:
    210
    J'aime reçus:
    277

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Ou as tu trouvé l'information du coup, j'ai beau avoir cherché, je n'ai rien trouvé d'officiel.
    Cliquez pour agrandir...

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
    redha2010 et Ezekiel056 aiment ça.
  • Ezekiel056

    Ezekiel056 Active Member

    Inscrit:
    Jan 17, 2018
    Messages:
    200
    J'aime reçus:
    154
    Ha oui il fallait cher le mot "dériver" et non hériter .. c'est pour ça :)
    Merci, au moins c'est clair et net maintenant.
     
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    D'après la réponse de

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , il faudrait faire l'implémentation (classe GameImpl par exemple) de la classe en c#, ou au moins, créer les méthodes vides pour que la classe puisse être allouée. Tu pourras ainsi l'utiliser directement dans windev.

    Et si tu souhaites faire une dérivation de cette classe, tu peux utiliser le pattern proxy, c'est à dire encapsuler la classe c# dans une classe windev et c'est cette dernière que tu dériverais. Bien entendu, avec cette méthode, tu n'aurais pas accès aux méthodes protégées.
    Cliquez pour agrandir...
    un petit exemple du pattern proxy SVP ;)
     
  • Johjo

    Johjo New Member

    Inscrit:
    Jan 2, 2018
    Messages:
    14
    J'aime reçus:
    17

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    un petit exemple du pattern proxy SVP ;)
    Cliquez pour agrandir...
    La définition du design pattern pour les intéressés :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Tout d'abord, la classe principale :

    Code (Windev):

    cClasse est une classe
    FIN

    PROCEDURE afficher_message(message est une chaine)
    trace(message)
    FIN
     


    Vient ensuite la classe proxy

    Code (Windev):

    cClasseProxyest une classe

    PRIVE
        __classe_principale est une cClasse dynamique
    FIN

    PROCEDURE Constructeur(classe_principale est une cClasse dynamique)
    :__classe_principale = classe_principale

    PROCEDURE afficher_message(message est une chaine)
    :__classe_principale.afficher_message(message)
    FIN
     
    Et l'utilisation :
    Code (Windev):

    objet_standard est un cClasse dynamique = allouer un cClasse()

    proxy est un cClasseProxy dynamique = allouer un cClasseProxy(objet_standard)

    proxy .afficher_message()
     
    Les deux classes doivent avoir la même interface pour pouvoir être interchangeable. En windev 22, on va ignorer ce détail.

    Et s'il faut dériver des méthodes, on arrête de faire appel aux méthodes de la classe principale et on écrit le code attendu.

    On aurait aussi pu utiliser le pattern adapter :

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    mais avec une interface similaire à la classe adaptée.
     
    suenodesign, redha2010 et Ezekiel056 aiment ça.
  • Partager cette page

    Chargement...