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

avec Java Discussion :

Question sur le surclassement des objets


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 116
    Points : 55
    Points
    55
    Par défaut Question sur le surclassement des objets
    Bonjour
    Qui peut m'expliquer cette phrase :
    "Lorsqu'un objet est sur-classé il est vu comme un objet du type de la référence utilisée pour le désigner."
    Grand merci.

  2. #2
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Bonjour,

    Prenons pour exemple un cas concret :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class A {
        public void a() {
            System.out.println("a");
        }
    }
     
    public class B extends A {
        public void b() {
            System.out.println("b");
        }
    }
    Avec l'utilisation qui en est faire suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class M {
        public static void main(String[] argv) {
            B b = new B();
            A a = new B();
     
            new B().b();
            b.b();
            a.b(); // aie ici ca ne compilera pas
        }
    }
    L'explication est la suivante :
    Lorque l'on invoque une méthode, elle sera appliquée à la référence sur laquelle on fait l'appel. Si la méthode fait partie de la signature de la référence alors pas de problèmes, si on se retrouve avec une référence possédant une signature moins riche que celle de l'instance (typiquement par la polymorphie), alors l'invocation échouera.
    Plus clairement, si b() ne fait pas partie de A (puisque a est de type A), et ceci même si l'instance est de type B, alors on ne peut faire d'appel de b depuis a sans effectuer un cast.

    Ici on règle le problème comme suit :
    J'espère avoir pu t'aider
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

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

Discussions similaires

  1. Question sur la gestion des objets métier
    Par viddak dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 24/11/2008, 07h06
  2. Une question sur les « Names » des objets.
    Par phdnet dans le forum W4 Express
    Réponses: 7
    Dernier message: 04/12/2007, 08h54
  3. [Excel][VBA] Questions sur la hiérarchie des objets
    Par cladsam dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/08/2006, 14h59
  4. [FLASH 8] Question sur la portée des objets.
    Par i_shinji dans le forum Flash
    Réponses: 1
    Dernier message: 02/11/2005, 17h18
  5. Question simple sur la libération des objets
    Par gibet_b dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2004, 10h01

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