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 :

Spécialisation de paramètres ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut Spécialisation de paramètres ?
    Hello,

    J'ai une arborescence de classe pour décrire des données dont la nature varie en fonction des spécialisation.

    J'ai créé une hiérarchie parallèle, miroir de la hiérarchie précédente; ses classes permettent d'ouvrir des fichiers représentant les données, et par des des méthodes, d'alimenter en données les classes de la première hiérarchie.

    Pour cela, j'envoie en paramètre des méthodes de ces classes de "reader" une référence sur l'objet à "remplir".

    Primo, est-cela bonne méthode ?

    Secundo, comment spécialiser les types des paramètres de méthode ?

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     A    reader_A(ref A)
     |       |
     B    reader_B(ref B)
    (pour faciliter la lecture du schéma, supposons que le constructeur de reader_x prend un objet x)

    Si dans reader_A, j'ai une méthode abstraite (parce que je veux que les classes filles implémentent une telle fonction) qui doit prendre un objet A (parce que c'est le niveau hiérarchique auquel je me situe), et que je veux que reader_B implémente cette méthode, mais qu'elle ne puisse prendre que des objets B, comment faire ?

    Les templates s'avéreraient-ils ici utiles ?

    J'espère que j'ai été clair...

    Je pense que c'est plus un problème de conception que de langage, mais bon...

    Merci.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    J'ai pas tout compris, ce serait plus clair si tu postais un peu de code.

    En tous cas, le premier truc qui me vient à l'esprit en lisant ta question, c'est d'utiliser les génériques. Je pourrai te donner un peu plus de détails quand j'aurai un idée plus précise de ce que tu veux...

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Disons que nous avons une première hiérarchie :

    baseClass
    \_ classA
    \_ classB

    et une seconde hiérarchie :

    readerBaseClass
    \_ readerA
    \_ readerB

    Dans ces hiérarchies, seules les classes "feuilles" seront concrètes.

    Pour chaque classe X doit exister une classe readerX, dont une méthode prend un X en paramètre.

    readerClass(ref baseClass)
    readerA(ref classA)
    readerB(ref classB)

    Cette méthode doit être définie comme abstraite dans readerClass, afin d'imposer son existence dans les classes filles (et feuilles...). Mais quel type donner à son paramètre ? Si je mets un paramètre baseClass, comme ci-dessus, les méthodes "spécialisées" seront vues comme des surcharges.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/07/2012, 10h20
  2. Réponses: 10
    Dernier message: 09/06/2011, 15h29
  3. Réponses: 8
    Dernier message: 01/03/2007, 15h07
  4. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47
  5. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24

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