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 :

Autre question sur les types polymorphiques et valeurs


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 68
    Points : 46
    Points
    46
    Par défaut Autre question sur les types polymorphiques et valeurs
    re-bonjour,
    Quelqu'un peut-il m'expliquer la différence entre un type polymorphique et un type valeur svp?
    Merci,
    Julien.

  2. #2
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    Un objet polymorphique est un objet qui déclare des méthodes comme virtuelles (si tu ne sais pas ce que c'est qu'une méthode virtuelles tu peux trouver des explications sur cette page traitant de l'héritage : http://frog.isima.fr/antoine/heritage.shtml.

    Si ce que tu appelle "type" correspond bien à la traduction que je lui ai donné, c.a.d. "classe" qui a l'avantage d'exister dans mon vocabulaire C++ (lequel est sans doute loin d'être exhaustif, je l'admet), je suppose que dans ce cas un type dit "valeur" serait donc une classe non polymorphique.

    Ceci dit j'émets d'énormes réserves sur ce que j'avance car je ne vois pas en quoi le fait qu'un objet soit pomorphique ou non influence sur la façon dont on le caste. Dans tous les cas quand on caste de l'héritage, on utilise dynamique_cast...

  3. #3
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    On oppose généralement objets valeur aux objets entités.
    - valeur == on s'intéresse à l'état, c'est copiable, affectable, et comparable (je ne sais plus si la défaut-initialisation est requise pour parler de valeur)
    - objet régulier (plein d'articles de Stepanov sur le sujet) == cas particulier de valeur + dispose d'un ordre

    - objet entité == on s'intéresse à l'identité et non plus à l'état ; la copie est rarement requise ; parfois la duplication, mais c'est rare
    - objet polymorphe == cas particulier d'objet entité, il y a une notion de substituabilité en plus. Cas particulier car dans les faits, quand il y a un héritage, la copie devient vite cauchemardesque à mettre en oeuvre, mais heureusement, c'est bien souvent d'un objet dont on a besoin et pas d'un état. La présence de fonction membre virtuelles n'est pas un élément déterminant (bien que remarquable, et "indubitable" (les mots m'échappent)) des hiérarchies polymorphes.


    Par extension, on oppose généralement "sémantique de valeur" et "sémantique d'entité".

    Par croisements plus ou moins simples, il est possible d'avoir des types ni valeur ni entité, et des qui sont des deux familles.



    Le "cours d'algorithmie" de Stepanov traite une partie de ces choses dans son "introduction".

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/08/2014, 07h53
  2. Débutante en Haskell, question sur les types.
    Par avator dans le forum Haskell
    Réponses: 6
    Dernier message: 22/09/2008, 02h24
  3. petite question sur les types de champs
    Par charlie koller dans le forum Débuter
    Réponses: 2
    Dernier message: 21/02/2007, 17h57
  4. Questions sur les types énumérés
    Par Premium dans le forum Langage
    Réponses: 5
    Dernier message: 12/11/2006, 18h00
  5. [SQL 2000] Question sur les types de données
    Par Angath dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 03/11/2006, 14h05

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