Principe
Difficulté :  |
|
Les objets, on
en parle beaucoup en Java.
Mais qu'est-ce que c'est vraiment ? |
|
Dans la vie courante, vous manipulez toutes sortes d'objets : table, chaise,
voiture, bouteille de gaz (eh oui, bouteille de gaz)... Un objet a des
propriétés (dimensions, couleur, matière...) et peut réagir ou non à des
actions (déplacer l'objet, peindre l'objet...). Vous allez retrouver les mêmes
principes en Java.
Si vous avez d'ailleurs parcouru quelques-unes des pages de ce site, vous
avez déjà créé des applets, donc des objets.
L'objet de base
Un objet a une structure de base précise.
En tapant le listing suivant dans votre éditeur de texte favori, vous préparez
la création d'un objet :
public class ObjetDeBase extends Object
{
}
Le listing en détail...
Le listing est très court (pour une fois !), mais il appelle pas
mal de remarques :.
- Le listing ci-dessus doit être tapé dans un fichier texte qui doit
impérativement s'appeler ObjetDeBase.java (ObjetDeBase
étant le nom de l'objet qu'on souhaite créer, et .java
indiquant qu'il s'agit d'un code source Java).
- Les majuscules/minuscules ont leur importance dans le nom de l'objet, et
bien sûr dans le nom du fichier texte. ObjetDeBase n'est pas la même chose
que Objetdebase, ni ObjetDebase, ni OBJETDEBASE. Un peu de rigueur, donc !
- Par convention, le nom d'un objet démarre toujours par une majuscule
(rappelez-vous les objets String, Applet, Graphics que vous connaissez
déjà).
- La convention ci-dessus permet aussi de déduire que les types de données int,
boolean, float (entre autres) ne sont pas
des objets au sens Java puisqu'ils démarrent par une minuscule.
- Un objet commence par une déclaration du type :
public class ObjetDeBase extends Object
- On reviendra sur le public plus tard (vous en devinez le sens, non ?)
- Le class indique qu'on commence la création d'une classe d'objet
(c'est-à-dire d'une catégorie d'objet)
- Vient ensuite le nom de l'objet (ici ObjetDeBase)
- Le extends Object signifie que notre objet de base découle d'un objet
qui s'appelle lui-même Object. Tout objet découle d'un
autre objet (qui lui sert de modèle, en quelque sorte), et étend ses
possibilités. L'objet Object (pas facile à suivre !) est le premier de
toute la hiérarchie.
Si vous avez lu quelques listings sur ce site, vous avez remarqué que
toutes les applets découlaient de l'objet Applet (du genre : public class
Bonjour extends Applet). L'objet Applet lui-même découle indirectement de
l'objet Object.
A noter que, lorsqu'un objet étend l'objet Object (et celui-là
uniquement), le extends Object est facultatif. On aurait ainsi pu écrire :
public class ObjetDeBase
{
}
Tout ce qui définira l'objet doit être ensuite compris entre 2 accolades
(ce qui signifie que l'objet donné en exemple... ne fait strictement rien
pour l'instant !).