Dans ce chapitre nous allons aborder les concepts de base de l’orienté-objet, comment créer, manipuler les objets et les classes.
Dans la programmation orientée-objet on présente une méthodologie centrée sur les données. Pour programmer en Java, il faut d’abord identifier un ensemble d’objets, tel que chaque objet représente un élément qui doit être utilisé ou manipulé par le programme, sous la forme d’ensembles de données. Deuxièment, le programmeur peut coder les traitements, en associant chaque traitement à un objet donné,
1. Concepts d’objet et de classe
Notion d’objet
Les objets contiennent des attributs et des méthodes. Les attributs sont des variables ou des objets nécessaires au fonctionnement de l’objet. En Java, une application est un objet. La classe est la description d’un objet.
Un objet est une instance d’une classe. Pour chaque instance d’une classe, le code est le même, seules les données sont différentes à chaque objet.
Notion de classe
Une classe peut être définie comme un moule qui lorsqu’on utilise génère un objet de même forme que celui-ci avec les mêmes caractéristiques.
Un premier programme
Prenons un exemple qu’on veut créer un objet Ville ayant certaines caractéristiques, ce sont des attributs: nom, nombre d’habitants, pays d’apparenté…
Modificateurs d'accès
Ils s’appliquent aux classes, aux méthodes et aux attributs. Ils ne peuvent pas être utilisés pour qualifier des variables locales : seules les variables d’instances et de classes peuvent en profiter.
visibilité des entités
Il s’agit de des attributs de visibilité pour réglementer l’accès aux classes et aux objets, aux méthodes et aux données.
Modificateur
Description
public
Une variable, méthode ou classe déclarée public est visible par tous les autres objets.
protected
Si une méthode ou une variable est déclarée protected , seules les méthodes présentes dans le même package que cette classe ou ses sous classes pourront y accéder.
private
C’est le niveau de protection le plus fort.
Les composants ne sont visibles qu’à l’intérieur de la classe.
Le constructeur
Pour créer notre premier objet il nous faut créer un constructeur d’objet pour l’instancier.
Un constructeur est une méthode d’instance qui se charge de créer un objet, et le cas échéant d’initialiser ses variables de classe.
Son rôle est d’indiquer à la JVM de réserver d’espace mémoire à notre objet, et ses extension aussi et si en exécute le programme on peut obtenir le résultat suivant :
On remarque que le constructeur par défaut ne contient aucun paramètre et qu’est en fait, une méthode sans retour, portant le même nom que la classe.
Un objet peut avoir plusieurs constructeurs, il s’agit de la même méthode, mais surchargée. Voilà un autre constructeur de notre objet Ville pemettant d’avoir des paramètres différents :
Lorsqu’on teste le code suivant, on remarque que les variables d’instances peuvent être changées dans la classe contenant la méthode main, et ça représente un défaut.
Ceci implique qu’on peut modifier directement les attributs de la classe.
On constate qu’on peut accéder aux variables d’instances via l’opérateur « . ». C’est risqué. Donc, dans la majorité des cas, il faut contrôler la modification des variables de classe d’une façon à ce qu’un code extérieur ne fasse n’importe quoi sur nos objets.
C’est pour cela qu’on protège les variables d’instances en les déclarants private, comme ceux-ci :