|
Le langage Java intègre
fortement le concept objet, il s'agit donc d'un langage
orienté objet (LOO). Le terme langage
orienté objet est plus qu'une simple appellation
de plus pour désigner un type de langage, il s'agit
réellement d'une façon de programmer à
part entière, un état d'esprit...
Pour comprendre clairement le concept d'objet, reportez-vous
à la partie Programmation
orientée objet!
Pour pouvoir manipuler
des objets, il est essentiel de définir des classes,
c'est-à-dire définir la structure d'un objet.
Cette définition avec Java se fait de la manière
suivante:
class Nom_de_la_classe {
// Instructions permettant de définir la classe;
}
Nom_de_la_classe représente
bien évidemment le type d'objet désigné
par la classe ou du moins le nom que vous leur attribuez.
|
Avec Java il n'est pas nécessaire
d'ajouter un point-virgule à la fin du bloc de
définition de la classe, contrairement au langage
C++... |
Jusqu'ici notre classe
est vide (elle est toutefois syntaxiquement correcte), c'est-à-dire
qu'elle ne contient ni données (appelées données
membres) ni traitements (fonctions appelées méthodes).
Les données membres
sont des variables stockées au sein d'une classe. Elles
doivent être précédées de leur
type et (éventuellement) d'une étiquette précisant
leur portée, c'est-à-dire les classes ayant
le droit d'y accéder.
Ces étiquettes sont au nombre de trois:
Pour comprendre en détail ces étiquettes,
reportez-vous au chapitre sur l'encapsulation.
Ainsi, une classe comportant
trois données membres peut ressembler par exemple à
ceci:
class Voiture {
public char Marque[32];
private float Vitesse;
protected int Prix;
}
Les données membres
permettent de conserver des informations relatives à
la classe, tandis que les méthodes représentent
les traitements qu'il est possible de réaliser avec
les objets instanciés de la classe. On parle généralement
de méthodes (parfois fonctions membres)
pour désigner ces traitements.
La définition d'une
méthode se fait en définissant le prototype
et le corps de la fonction à l'intérieur de
la classe en une opération
Voici donc la syntaxe de définition
des méthodes:
class Nom_de_la_classe {
// Instructions permettant de définir les données membres de la classe;
...;
// Instructions permettant de définir les méthodes de la classe;
type_de_valeur_renvoyée Nom_de_la_methode(type_du_parametre1,
type_du_parametre2, ..){
// Instructions du corps de la méthode
}
}
Etant donné que l'encapsulation
doit permettre la protection des données membres (qui
sont alors précédées de l'étiquette
private ou protected), les fonctions membres
doivent pouvoir servir d'interface pour manipuler les données
membres. On place donc l'étiquette publique devant
les fonctions membres dédiées à la manipulation
des données membres. Ce système permet de garantir
l'intégrité des données membres. En effet,
si l'utilisateur de la classe ne peut pas modifier les données
membres directement, il est obligé d'utiliser l'interface
(les fonctions membres) pour les modifier, ce qui peut permettre
au créateur de la classe d'effectuer des contrôles...
 
|