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 :

Comment dire : "priorité à la classe parente" ?


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 Comment dire : "priorité à la classe parente" ?
    Hello,

    J'ai une classe qui hérite d'une politique.

    Il me faut une méthode qui manipule des données stockées dans la classe de politique.

    Je voudrais que si la classe de politique implémente cette méthode, ça soit celle-ci qui soit appelée (parce qu'elle sera optimisée), et sinon, qu'il faut appeler une méthode générique de la classe fille.

    Comment faire cela ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Citation Envoyé par oodini Voir le message
    sinon, qu'il faut appeler une méthode générique de la classe fille.
    Une méthode générique de la classe fille ? Comment est ce possible ? Si la classe hérite de cette politique, la méthode utilisé ne sera nécessairement pas générique car avec qui d'autre peut elle être utilisée ?

    Pour moi, la méthode générique non optimisée devrait se trouver dans la classe parent. Si ta politique n'a pas de parent, donne lui en un.

  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
    Le principe de la politique est de spécialiser via une classe parente.
    Ce qui est générique devrait donc se trouver dans la classe fille, il me semble.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Citation Envoyé par oodini Voir le message
    Le principe de la politique est de spécialiser via une classe parente.
    Dans le cas du CRTP, oui. Une politique n'est pas nécessairement utilisée via CRTP.

    Citation Envoyé par oodini Voir le message
    Ce qui est générique devrait donc se trouver dans la classe fille, il me semble.
    Oui mais uniquement ce qui ne sera pas impacté par le choix de la politique ! Ce qui touche à la politique (puisque tu veux effectuer des opérations sur ses membres) doit être délégué à la politique. Si la politique doit avoir un comportement par défaut et commun à toutes les politiques (quand ce comportement n'est pas surchargé), il doit être dans une classe parente de la politique.

  5. #5
    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
    Citation Envoyé par jblecanard Voir le message
    Oui mais uniquement ce qui ne sera pas impacté par le choix de la politique ! Ce qui touche à la politique (puisque tu veux effectuer des opérations sur ses membres) doit être délégué à la politique. Si la politique doit avoir un comportement par défaut et commun à toutes les politiques (quand ce comportement n'est pas surchargé), il doit être dans une classe parente de la politique.
    OK. Il faut donc effectivement passer par une classe parente.
    C'est une option que je n'avais pas considérée.

  6. #6
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Par défaut
    [NB: Ce qui suit est un avis personnel]

    Le but des politiques c'est de spécialiser des comportement, si tu définies une politique, il n'y a aucune raison pour que quelqu'un implémente cette politique sans en définir toutes les méthodes du contrat : ca reviendrait à spécifier à moitier un comportement.

    Couplé au SRP, la notion de comportement spécialisé à moitié n'a plus aucun sens. Si un comportement peut-être spécifié à moitié c'est qu'il y a probablement une possibilité de faire un découplage orthogonale de cette politique en deux autres politiques.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/12/2008, 17h41
  2. [cr 8.5] comment exploiter les données d'un "array"
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 12
    Dernier message: 09/06/2005, 14h03
  3. Conception d'une classe parente
    Par VincentB dans le forum Langage
    Réponses: 9
    Dernier message: 24/06/2003, 17h28

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