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 :

Problème liée à l'abscence d'héritage multiple


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de mensoif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut Problème liée à l'abscence d'héritage multiple
    Bonjour à tous, habituellement je code en C++, mais pour un devoir on m'impose d'utiliser le C sharp, et voila que je me confronte à quelque chose de génant --> explication :

    J'ai deux "entité", un serv et un client. Je veux qu'il soit tout deux capable de communiquer entre eux (surtout pour l'envoie de fichier). Je me suis donc dis que j'allais faire une classe Send et une classe Receive pour implémenter le même protocole de transmission/réception des deux coté. Mais je ne peux pas faire ma classe client : Send , Receive, Other_action et vice versa ma classe serveur : Send , Receive, Other_action. Je me suis donc dis que j'allais tout mettre dans la même classe mère, soit un joli bazard qui ressemblerais à cela :
    class Send_Receive_Other. Jusque là, hormis le manque de réutilisabilité et d'esthétique, rien de bien méchant me direz vous. Mais c'est tout le contraire, car soit une finesse me passe sous les yeux soit j'suis un peu *** . Je m'explique, pour envoyer un fichier, je comptais utiliser un networkstream couplé à un binarywritter, et pour la réception je comptais utiliser un networkstreal / binaryreader. Mais comment faire pour que lors de l'instanciation de ma classe, on puisse savoir de manière élégante que je veux l'utiliser pour recevoir ou transférer un fic ?
    Sinon cela m'oblige à placer dans chaque classe client et serveur, tout le code qui représente mon protocole de transfert/reception ce que je trouve totalement débile. Bref, si vous pouviez m'éclairer sur la chose ce serrait sympa =)

  2. #2
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Salut,

    Je vois pas pourquoi tu voudrais que ton émetteur et ton receveur (et donc en gros aussi, ton sérialiseur et ton désérialiseur) partagent du code. Ils ont quoi de commun ?

  3. #3
    Membre éclairé Avatar de mensoif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut
    Le protocole de communication leur est commun. Le serveur et le client, lorsque 'il envoie/réceptionne un fichier le font de la même façon. C'est pour cela que je voulais qu'il puisse hériter tous deux d'une classe Send, Receive etc Malheureusement impossible à réaliser.

  4. #4
    Membre chevronné
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Par défaut
    Si tu ne peux pas utiliser l'héritage (multiple), tu peux toujours utiliser la composition (là, y'a pas de limite ).

  5. #5
    Membre éclairé Avatar de mensoif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut
    Citation Envoyé par Gold Bug Voir le message
    Si tu ne peux pas utiliser l'héritage (multiple), tu peux toujours utiliser la composition (là, y'a pas de limite ).
    hum, je ne connaissais pas, et d'ailleurs je ne connais toujours pas :p j'ai demandé à developpez & google mais sans résultat en retour. Auriez vous quelques explications ou quelques sites à me faire partager ? =)

  6. #6
    Membre chevronné
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Par défaut
    Citation Envoyé par mensoif Voir le message
    hum, je ne connaissais pas, et d'ailleurs je ne connais toujours pas :p j'ai demandé à developpez & google mais sans résultat en retour. Auriez vous quelques explications ou quelques sites à me faire partager ? =)
    Hum...
    La recherche n'était pourtant pas difficile

    http://gfx.developpez.com/tutoriel/java/composition/

  7. #7
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Citation Envoyé par mensoif Voir le message
    Le protocole de communication leur est commun. Le serveur et le client, lorsque 'il envoie/réceptionne un fichier le font de la même façon. C'est pour cela que je voulais qu'il puisse hériter tous deux d'une classe Send, Receive etc Malheureusement impossible à réaliser.
    OK pour l'héritage ; mais pourquoi vouloir de l'héritage multiple ? Si t'as une classe de base avec tout ce qui est commun, puis une classe fille "Serveur" et une classe fille "Client", ça suffit, non ?

  8. #8
    Membre éclairé Avatar de mensoif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut
    Oui mais je voulais faire hériter ma classes serveur et ma classe client de Send, Receive, AutreClasse pour ne pas avoir à les réécrire chacune dans les classes serv et cli. Mais grâce à la composition j'ai pus contourner ce problème =)

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

Discussions similaires

  1. L'épineux problème de l'héritage multiple
    Par syntaxerror dans le forum C#
    Réponses: 3
    Dernier message: 17/08/2010, 14h24
  2. Problème d'héritage multiple
    Par F0ul dans le forum Débuter
    Réponses: 13
    Dernier message: 24/02/2009, 12h48
  3. problème d'héritage multiple
    Par thiouwz dans le forum Langage
    Réponses: 3
    Dernier message: 28/10/2006, 16h35
  4. Réponses: 19
    Dernier message: 13/07/2006, 13h35
  5. [XML Schemas]héritage multiple
    Par nicolas_jf dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/06/2003, 12h55

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