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 les objets


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Points : 64
    Points
    64
    Par défaut Question sur les objets
    Bonjour,

    J'ai du mal à comprendre le résultat suivant :

    Soit la classe A telle que :
    J'ai ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    A a=new A();
    A b=new A();
     a.i=10;
     b=a;
     b.i=5;
    if(a==b)
        System.out.println("EGAL");
    else 
        System.out.println("PAS EGAL");
    Je sais que les résultat sera "EGAL", mais je ne comprend pas pourquoi, je pense que cela découle du b=a, mais là encore je n'arrive pas à expliquer cette instruction.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    L'opérateur "==" sert à comparer si ceux sont la même instance d'Objet, mais si tu veux comparer si 2 objets ont les mêmes valeurs, tu dois surcharger la méthode equals et faire la comparaison des propriétés à l'intérieur.

    A+.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Points : 321
    Points
    321
    Par défaut
    N'oublie pas que la programmation objet, ce sont des pointeurs.

    lorsque tu fais b=a, tu dis que b pointe vers le même objet que a.
    Si tu veux créer un nouvelle objet avec les même valeur, utilise la méthode clone().

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 557
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 557
    Points : 21 616
    Points
    21 616
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    L'opérateur "==" sert à comparer si ceux sont la même instance d'Objet, mais si tu veux comparer si 2 objets ont les mêmes valeurs, tu dois surcharger la méthode equals et faire la comparaison des propriétés à l'intérieur.
    Oui, mais là n'est pas la question -_-°
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Question sur les objets
    Par tosqualler dans le forum MFC
    Réponses: 8
    Dernier message: 18/01/2008, 00h01
  2. Une question sur les objets en VBA
    Par deubelte dans le forum Général VBA
    Réponses: 5
    Dernier message: 12/10/2007, 17h07
  3. question sur les objets
    Par afrikha dans le forum Langage
    Réponses: 14
    Dernier message: 07/12/2005, 15h21
  4. Réponses: 5
    Dernier message: 24/04/2005, 04h09
  5. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51

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