bonjour
j'ai pas compris qu'elle est la différence entre un objet et une référence
merci
bonjour
j'ai pas compris qu'elle est la différence entre un objet et une référence
merci
Un objet est l'instance d'une classe. L'instanciation en java est effectué grâce à l'opérateur new :
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 class Voiture{ int couleur; } new Voiture();
Ta voiture sera alors accessible via la référence toto
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éé
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é
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 :
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 new MyClass().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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MyClass class = new MyClass(); class.method();
On voit ici bien la différence entre référence et instance.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager