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

C# Discussion :

[Débutant] Héritage en C#


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Par défaut [Débutant] Héritage en C#
    Bonjour,

    Je débute en C# car je dois créer un workflow sur Visual Studio 2008. Je m'en sort plus ou moins quand j'ai vu que l'on ne pouvais pas faire un héritage multiple. J'ai vu que l'on pouvais faire des interfaces à la place mais (c'est une question assez basique je sais) comment faire pour mettre un interface à la place d'une classe?

    Si vous avez des lien ou une idée, j'ai cherché mais peut être pas assez et pour tout dire ça fait plus d'une journée que je suis sur mon workflow et que je ne m'en sort pas donc j'en ai un peu marre!

    Merci si vous pouvez m'aider et m'expliquer en même temps pour pouvoir le refaire.
    Socki

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    A l'exception du C++, peu de langages offrent un héritage multiple, et, quand il est utilisé, c'est souvent pour de mauvaises raisons (réutilisation de code qui devrait se faire par aggrégation et non par héritage; on découvre ce genre de trucs fréquemment dans les codes en C++).

    Pourquoi penses tu avoir besoin de l'héritage multiple ?

    Plus généralement quel problème rencontres tu dans la conception de ton workflow ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Par défaut
    Bonjour,

    J'en ai besoin pour mon workflow car celui-ci doit être optimisé et donc je dois utiliser une bibliothèque (ou classe) qui contiendra toutes les méthodes dont j'ai besoin. Je veux juste appeler des méthodes dans mon workflow mais celui-ci hérite déjà de "SequentialWorkflowActivities".
    Merci

    Socki

  4. #4
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Je veux juste appeler des méthodes dans mon workflow mais celui-ci hérite déjà de "SequentialWorkflowActivities".
    Tu n'as pas forcement besoin d'hériter d'une classe pour appeler des methodes...

    Ton workflow doit contenir ta logique de branchement, donc ça fait du sens d'extraire les comportements métiers et les utilitaires dans une ou plusieurs autres classes, par contre, rien ne force ton workflow a hériter de ces classes...

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Socki Voir le message
    Bonjour,

    J'en ai besoin pour mon workflow car celui-ci doit être optimisé et donc je dois utiliser une bibliothèque (ou classe) qui contiendra toutes les méthodes dont j'ai besoin. Je veux juste appeler des méthodes dans mon workflow mais celui-ci hérite déjà de "SequentialWorkflowActivities".
    C'est bien ce que je préssentais supra.

    Tu n'as pas besoin d'hériter pour utiliser les méthodes, l'aggrégation est beaucoup plus logique. (et cela n'"optimise" rien du tout d'hériter pour réutiliser du code; l'héritage doit reposer avant tout sur un concept de regroupement sémantique et pas être un moyen de réutiiser du code).

    Ce que tu tentes d'appliquer c'est une conception "très C++" et pas vraiment objet de l'héritage. Cette conception est erronée.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Par défaut
    Je m'étais dit qu'il fallait mettre de l'héritage car quand je me servait de ma méthode j'avais
    TestIfEmpty (String titre) n'existe pas ou quelque chose dans le genre alors que j'ai bien fait un "using CounterLibrary;"

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Socki Voir le message
    Je m'étais dit qu'il fallait mettre de l'héritage car quand je me servait de ma méthode j'avais
    Là c'est plus un problème d'utillisation du langage visiblement.

    Pour résumer, pour faire un worflow

    - etablir la liste des activités dont tu as besoin
    - faire ces activités en les faisant hériter de SequentialActivity (dans le cas d'un workflow séquentiel)
    - appeler dans ces activités des méthodes de tes couches métiers (soit directement soit à travers de webservice - ce dernier cas permet de minimiser le nombre d'activités spécifiques).

    Mais cela n'a pas grand sens de vouloir faire hériter une activité d'un composant métier (aucun sens en terme de COO en tout cas).

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Par défaut
    Merci, je vais voir si je m'en sort et je mettrais ce post en résolu.

    Socki

  9. #9
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Socki Voir le message
    Merci, je vais voir si je m'en sort et je mettrais ce post en résolu.
    N'hésite pas si tu as des questions tant sur le WF que sur le langage (et,visiblement, il va falloir que tu travailles un peu ta conception).

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 140
    Par défaut
    Bonjour,
    J'ai trouvé comment faire, j'avais juste une erreur dans l'appel de ma méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Je mettais:
    int titre = CounterLibrary.testIfEmpty(toto);
    au lieu de:
    int titre = CounterLibrary.CounterLibrary.testIfEmpty(toto);
    Par contre mon workflow ne fonctionne toujours pas ... Mais c'est déjà dans un autre post!
    Merci à tous les deux.
    Socki

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/05/2006, 19h04
  2. [Débutante] Héritage
    Par Tootsi dans le forum 2D
    Réponses: 6
    Dernier message: 13/03/2006, 17h44
  3. [Débutant]Héritage
    Par Ryadus dans le forum Langage
    Réponses: 6
    Dernier message: 30/01/2006, 11h27
  4. [débutant]héritage
    Par pacha1 dans le forum Langage
    Réponses: 4
    Dernier message: 26/05/2004, 17h12
  5. [Débutant] Héritage & appel de méthodes
    Par KooX dans le forum Langage
    Réponses: 4
    Dernier message: 11/05/2004, 23h37

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