L'objet de ce document est de vous donner quelques élements de base vous permettant d'écrire vos premières applications java manipulant des objets. Sont abordés de manière extrêmement succinte les points suivants:
- création (instanciation) d'objets,
- références pour la désignation des objets,
- utilisation des objets (envois de messages).
Création des objets
Les objets d'un même type manipulés par une application logicielle
sont des exemplaires "fabriqués" à partir d'un modèle
unique, modèle représenté par une classe.
Tous les objets sont utilisés et manipulés au moyen des
méthodes de la classe dont ils sont un exemplaire.
La création d'un objet est obtenue au moyen de l'opérateur
new
appliqué à la classe dont on veut fabriquer un exemplaire.
Client unClient = new Client(nom, adresse);
La partie droite de l'expression d'affectation : new Client(nom, adresse)
est une sous-expression dont l'évaluation provoque :
- la création d'un objet de la classe
Client
, - l'initialisation de cet objet au moyen des valeurs désignées
par
nom
etadresse
passées en paramètres. - le renvoi du nom interne du nouvel objet créé, résultat de l'évaluation.
L'initialisation de l'objet est effectuée par le code d'une méthode
spéciale appelée constructeur. Cette méthode est
définie dans la classe concernée et porte toujours le nom
de cette classe, ici Client
.
Les paramètres formels déclarés pour cette méthode spéciale doivent permettre d'initialiser correctement les caractéristiques (attributs, propriétés) de chaque nouvel objet créé.
Plusieurs constructeurs peuvent exister pour une même classe : chacun d'eux permet dans ce cas d'initialiser d'une façon différente les valeurs des propriétés de l'objet créé. Chaque constructeur d'une classe donnée possède donc une liste d'arguments différente de celle des autres constructeurs de la même classe. En revanche, tous les constructeurs d'une classe donnée portent un même nom : celui de la classe.
Références
Lors de la création (construction), le constructeur renvoie une valeur : la référence du nouvel objet. C'est cette référence, nom interne (adresse) de l'objet qui permet ensuite d'accéder à l'objet au travers de messages. Ainsi après l'évaluation de l'affectation
Client unClient = new Client(nom, adresse);
la variable unClient
contient la référence de l'objet
créé. Dans la suite du programme, cette variable permmettra de
désigner (référencer) cet objet. En Java, la seule
opérations autorisée sur les références est l'affectation.
Utilisation des objets
Une fois créé, un objet peut être utilisé par un programme (ou par un autre objet). L'utilisation d'un objet peut répondre selon le cas à différents besoins :
-
Interrogation ou affectation de la valeur d'une propriété de l'objet. Ex :
// affiche le solde du compte du client System.out.println(unCompte.getSolde()); // rend visible une forme géométrique leCercle.setVisible(true);
On peut noter ici que les environnements de programmation intégrés (IDE) adoptentla convention suivante pour la désignation des méthodes d'accès aux propriétés caractéristiques d'un objet :
-
get<nom de la propriété
pour l'interrogation (sélecteur de propriété) -
set<nom de la propriété
pour l'affectation d'une valeur (modificateur de propriété)
-
-
Opération modifiant l'état global de l'objet
// crédite le compte du client de la somme de 10000F unCompte.credit(10000);
-
Utilisation d'un service. Ex :
// demande la réservation d'une place à une agence de voyage Voyage unVoyage; unVoyage = uneAgenceDeVoyage.reserver(destination, dateDepart); // demande à un annuaire le numéro d'un abonné NumTelephone numero = annuaire.rechercherNumero(nom);
Important : quel que soit le cas, l'utilisation ou la manipulation d'un objet se fait au moyen des opérations ou méthodes qui ont été définies pour cet objet dans la classe (le modèle) dont il est issu.