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

Langage Java Discussion :

polymorphisme et objets


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 50
    Points
    50
    Par défaut polymorphisme et objets
    Bonjour !

    Si Base = classe de base et Derive = classe dérivée.

    Quel intérêt d' écrire : Base ref = new Derive(); ?

    J' ai lu plusieurs fois et je vous avouerais que je ne comprends pas pourquoi préférez cette écriture plutôt que
    Derive ref = new Derive();
    C'est à force de programmer qu'on devient un bon programmeur

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    La réponse peut se trouver par là: http://bruce-eckel.developpez.com/li...?chap=8&page=0


    Basiquement c'est qu'en général on aime bien traiter un nombre d'objets semblables en une seule fois, plutôt que détailler au cas par cas.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre averti Avatar de welcome_59
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 203
    Points : 352
    Points
    352
    Par défaut
    Salut, autre explication.
    Imagine prends le schéma d'héritage suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public class Voiture {
    }
     
    public class Mercedes extends Voiture {
    }
     
    public class Jaguar extends Voiture {
    }
     
    public class Garage {
        private Mercedes voiture;
        public void setVoiture(Mercedes voiture) {
            this.voiture = voiture;
        }
    }
    Dans ce cas, le jour où tu changes ta mercedes pour une jaguar tu dois aussi changer de garage car ton Garage n'accepte que des Mercedes (donc aussi les classes dérivées).
    Par contre, si tu changes ton code en:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public class Voiture {
    }
     
    public class Mercedes extends Voiture {
    }
     
    public class Jaguar extends Voiture {
    }
     
    public class Garage {
        private Voiture voiture;
        public void setVoiture(Voiture voiture) {
            this.voiture = voiture;
        }
    }
    tu pourras mettre dans ton garage des Mercedes, des Jaguar, des AlphaRomeo... bref tout ce qui est voiture. C'est pour cela qu'il est important de déclarer certaines variables dans la classe de base.
    SCJP 5 | CAPM

Discussions similaires

  1. Polymorphisme et typage d'objets
    Par syntaxerror dans le forum Langage
    Réponses: 3
    Dernier message: 09/03/2010, 12h33
  2. Polymorphisme et objets statiques.
    Par winzzz dans le forum Débuter
    Réponses: 4
    Dernier message: 29/10/2008, 14h56
  3. Réponses: 7
    Dernier message: 18/06/2008, 19h01
  4. Héritage d'objet wx et polymorphisme
    Par rv2931 dans le forum wxPython
    Réponses: 4
    Dernier message: 20/02/2008, 12h20
  5. Polymorphisme et objets stockés dans un vector
    Par sylverspoon dans le forum Langage
    Réponses: 5
    Dernier message: 25/05/2007, 21h43

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