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 :

Différence entre reférence et objet


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 Différence entre reférence et objet
    bonjour
    j'ai pas compris qu'elle est la différence entre un objet et une référence
    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Un objet est l'instance d'une classe. L'instanciation en java est effectué grâce à l'opérateur new :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class Voiture{ 
           int couleur;
    }
     
    new Voiture();
    Dans cette exemple, l'instance de voiture créée est inutilisable. Nous n'avons aucun moyen d'accéder à l'objet... C'est ici qu'intervienne les références! C'est en quelque sorte le nom de l'objet. La référence permet d'accéder à l'objet dans la suite du programme. Pour récuperer la référence de l'objet Voiture créée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class Voiture{ 
           int couleur;
    }
     
    Voiture toto; //Création de la référence
    toto=new Voiture(); //On fait pointé la référence sur l'objet nouvellement créé
    Ta voiture sera alors accessible via la référence toto
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  3. #3
    Membre habitué Avatar de titourock
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 156
    Points : 190
    Points
    190
    Par défaut
    Bonjour,

    Le rapport entre un objet et sa référence est la même qu'entre toi-même et ton prénom.
    Lorsque tu crées un objet en java (ou dans un autre langage), tu lui donnes un nom par exemple monObjet comme ton prénom à la naissance que te donne tes parents.
    Si une personne parle de toi sans te connaître, il t'appellera par exemple "éric" (évidemment s'il ne connait pas ton prénom !) pour parler de toi (te désigner) à d'autre personnes qui ne te connaissent pas. Ainsi, ton prénom et éric seront des références vers toi-même i.e un objet peut-être référencé plusieurs fois (avoir plusieurs références).

    En espérant t'avoir un peu eclairé
    Dans la vie, il y a trois sortes de mathématiciens : ceux qui savent compter et ceux qui ne savent pas...

    Ne jamais jouer à saute-moutons avec une licorne...

  4. #4
    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

  5. #5
    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,

    A noter qu'une notion assez important est présente à ce niveau là.
    Une référence comme une instance possède un type, et ces deux types peuvent être différents (dans le cas de la polymophie par exemple).

    L'ensemble des membres publiques d'une classe est appelé signature, et lorsque l'on va faire un appel d'une méthode, il va se faire sur signature précise.

    Si nous appelons directement uen méthode après la construction comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new MyClass().method();
    Alors elle dépendra de la signature de MyClass. Au contraire quand on va faire un appel sur une référence, alors l'appel devra être en accord avec le type de référence et non plus le type de l'instance.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MyClass class = new MyClass();
    class.method();
    Ici ca ne change rien car les deux types sont strictement les même, mais quand nous pratiquons un peu d'abstraction dans nos programmes (manipulation d'interface, classes abstraites), il se peut que l'instance soit amputé d'une partie de sa signature.
    On voit ici bien la différence entre référence et instance.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/11/2016, 20h35
  2. Différence entre EJB et "objets en session"
    Par zaitsev dans le forum Langage
    Réponses: 4
    Dernier message: 15/02/2012, 13h11
  3. Réponses: 5
    Dernier message: 21/09/2011, 19h24
  4. Réponses: 0
    Dernier message: 11/12/2010, 20h36
  5. différence entre table et objet
    Par karinal dans le forum UML
    Réponses: 2
    Dernier message: 08/07/2008, 15h39

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