Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Java - Création d'objets

Java et les objets Encyclopédie


La création d'objets

Un objet est une instance de classe, la création d'objets s'appelle donc l'instanciation. Cette instanciation se fait grâce à l'opérateur new suivi du nom de la classe à instancier et de parenthèses contenant les paramètres d'instanciation (parenthèses vides s'il n'y a pas de paramètres). Soit la classe Personne suivante :

class Personne{
	int age;

}
L'instanciation de cette classe (rudimentaire et actuellement inutile...) se fait de la façon suivante :

new Personne();

Les références (handles)

Dans l'état actuel des choses (la simple création d'un objet avec le mot clé new), l'objet nouvellement créé est tout simplement inutilisable, car une fois que l'on a créé l'objet il n'y a aucune façon de le désigner (Personne représente le nom de la classe et non celui d'une de ces instanciations).

Il est heureusement possible d'identifier chaque objet par un nom grâce à un élément appelé référence (en anglais handle, littéralement poignée). On ne peut toutefois pas dire qu'un handle soit le nom d'un objet, étant donné qu'un objet peut posséder plusieurs handles (un handle ne peut par contre désigner qu'un seul objet). Le concept des handles est très proche de celui des pointeurs en langage C/C++, il est toutefois beaucoup plus simple à comprendre et à mettre en oeuvre.

Pour créer une référence d'objet il suffit de faire précéder le nom que l'on donne à un objet par le nom de la classe que l'on instancie, par exemple une référence de l'objet Toto, instance de la classe Personne, peut être défini de la manière suivante :

Personne Toto;
La référence Toto ne pointe pour l'instant vers aucun objet. Pour ce faire, il suffit de l'initialiser, c'est-à-dire en réalité de lui affecter le résultat de la création de l'objet renvoyé par l'opérateur new. Avec l'exemple précédent cela pourrait s'écrire de la façon suivante :

Personne Toto;

Toto = new Personne();

L'affectation de l'opérateur new à la référence ne signifie en aucun cas que l'on stocke l'objet dans la référence, cela indique que la référence pointe vers l'objet nouvellement créé!

Les deux lignes précédentes peuvent être regroupées en un seul de la façon suivante :

Personne Toto = new Personne();

Accéder aux données membres d'un objet

L'accès aux données membres d'un objet se fait grâce au nom de la référence vers l'objet, suivi d'un point puis du nom de la donnée membre. Par exemple :

Nom_du_handle.Nom_de_la_donnee_membre = Valeur;
Si jamais la donnée membre est une référence vers un autre objet, on peut accéder à ses données membres par l'intermédiaire de l'objet en cours :
Nom_du_handle.Nom_donnee_membre_objet.Nom_donnee_membre_de_l_autre_objet = Valeur;

Accéder aux méthodes d'un objet

L'accès aux méthodes d'un objet se fait comme pour l'accès aux données membres, c'est-à-dire par un point. La méthode est suivie de parenthèses, contenant les paramètres, si il y'en a. L'accès à une fonction membre se fait donc de la façon suivante :

Nom_du_handle.Nom_donnee_fonction_membre(parametre1,parametre2,...);

Le mot clé this

Le mot clé this permet de désigner l'objet dans lequel on se trouve, c'est-à-dire que lorsque l'on désire faire référence dans une fonction membre à l'objet dans lequel elle se trouve, on utilise this.

L'objet courant this est en réalité une variable système qui permet de désigner l'objet courant. Cette variable est passée en tant que paramètre caché de chaque fonction membre.

Ainsi, lorsque l'on désire accéder à une donnée membre d'un objet à partir d'une fonction membre du même objet, il suffit de faire précéder le nom de la donnée membre par this.. Par exemple :

class Toto{
	int age;

	char sexe[16];

	void DefineTotoAge(int age){
		this.age = age;

	}
}
En réalité, lorsque l'on donne des noms différents aux données membres et aux variables utilisées dans les fonctions membres, la variable this est implicite, cela signifie que l'on est pas obligé de mettre this. devant chaque donnée membre.

Dans le cas ou l'on désire une fonction membre qui retourne un pointeur vers l'objet dans lequel elle se trouve, la variable this est indispensable :

class Toto{
	int age;

	char sexe[16];

	void DefineTotoAge(int age){
		this.age = age;

	}
	

	Toto * RetourneToto(){
	return this;

}

}

Trucs & astuces pertinents trouvés dans la base de connaissances

18/12 20h18 Installation firefox 2.0+java+flash (Logiciel libre)
18/11 00h43 JavaScript c'est la même chose que Java (Mythes et légendes)
07/10 21h20 2 bons livres pour Java et C++ (Langages)
03/10 15h46 Créer une applet qui accède au disque dur (Programmation)
04/09 10h44 plugin Java Jre de Sun (Mozilla Firefox)
15/05 20h49 Gestion des plug-ins (Navigateurs)
30/12 22h10 Java Runtime Machine (Navigateurs)
java objets Plus d'astuces sur « java objets »

Discussions pertinentes trouvées dans le forum

12/07 11h45 java ajouter objet panel [Java] Ajouter un objet à un panel Développement 12/07 15h49->choubaka5
12/07 15h44 objets java Objets java Développement 12/07 17h04->rzedinho3
05/09 11h37 fonction delete objet file java [fonction DELETE sur un Objet FILE en Java] Développement 05/09 14h02->choubaka3
25/07 12h06 java objet resultset requête sql [java]objet resultset d'une requête SQL Développement 25/07 16h00->jérémy2
12/07 15h29 objets java objets java Windows 12/07 15h29->Peguinette0
13/02 19h35 deplacement objet graphique java Deplacement d'un objet graphique en Java Développement 13/02 19h35->trentreznor0
17/04 11h44 utiliser objet java jsp comment utiliser un objet java dans une jsp Développement 17/04 11h44->lafuse0
11/11 13h05 java uml objets droite cercle Java-UML: créer des objets droite, cercle, et Développement 11/11 13h05->Mohamed0
18/03 22h53 objet date java objet date java Développement 18/03 22h53->Isabelle0
30/01 07h46 java objet carte tableau [java] créer un objet carte dans un tableau Développement 06/02 11h38->choubaka58
Discussion fermée Problème résolu java objets Plus de discussions sur « java objets »

Ce document intitulé « Java - Création d'objets » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.