Académique Documents
Professionnel Documents
Culture Documents
Introduction
Java est un langage de programmation à usage général, évolué et orienté objet dont la syntaxe est
proche du langage "C".
Orienté objet : Chaque fichier source contient la définition d’une ou plusieurs classes qui sont
utilisées les unes avec les autres pour former une application. Java n’est pas complètement objet car
il définit des types primitifs (entier, caractère, flottant, booléen…).
Le langage Java a été développé afin de pouvoir générer des applications qui soient indépendantes
des machines et de leur système d’exploitation.
Java est indépendant de l'architecture:
Le bytecode généré par le compilateur est indépendant de toute architecture. le code source est
transformé dans un byte-code universel exécutable par une machine virtuelle.
Java fournit de nombreuses librairies de classes remplissant des fonctionnalités très diverses : c'est
l'API Java. API (Application and Programming Interface /Interface pour la programmation
d'applications): Ensemble de bibliothèques permettant une programmation plus aisée car les
fonctions deviennent indépendantes du matériel.
Ces classes sont regroupées, par catégories, en paquetages (ou "packages").
Pour pouvoir faire un programme exécutable il faut toujours une classe qui contienne une méthode
particulière, la méthode « main ». C’est le point d’entrée dans le programme : le microprocesseur
sait qu’il va commencer à exécuter les instructions à partir de cet endroit.
Exemple
Type Valeurs
Booléen vrai (true) soit faux (false)
ou 0 ou 1
char Pour représenter les caractères
Byte -27 à 27 –1 : (-128 à +127)
short -215 à 215 –1: (-32768 à 32767)
Entiers
int -231 à 231 - 1
relatifs
long -263 à 263 –1
float -1035 à + 1035
Réels
La taille nécessaire au stockage de ces types est indépendante de la machine. Avantage : portabilité
1 Introduction
Une classe est une construction software définissant les données (data) ou ce qu’on appelle
"état" et les méthodes ("comportement") des objets concrets construits à base de cette classe. Dans
la terminologie Java, une classe est construite de membres qui sont des champs (fields ou variables)
et des méthodes. Les champs dans une classe Java sont les données de la classe alors que les
méthodes sont les séquences d’instructions opérantes sur ces données. En d'autres termes, une
classe est définie par un ensemble d’attributs qui décrivent la classe et un ensemble de méthodes
décrivant les actions qu’une classe peut effectuer. Donc une classe est un ensemble de données et de
fonctions regroupées dans une même entité. C'est une description abstraite d’un objet.
Ainsi, un objet peut être défini comme étant une structure informatique caractérisé par un état et un
ensemble de méthodes exécutables par cet objet qui caractérise son comportement.
L'état d'un objet est la valeur de ses attributs c.à.d. les caractéristiques (les variables, les
attributs, propriétés ou les champs) de l’objet. Deux objets de même type sont dans le même
état si leurs valeurs coïncident.
Le comportement est l'ensemble de fonctions. Donc le comportement d’un objet est défini
par ses méthodes. Les méthodes manipulent les variables d’instances pour créer un état
nouveau de l’objet. Les méthodes de l’objet peuvent aussi créer d’autres objets.
Java est un langage orienté objet : tout appartient à une classe sauf les variables de types primitives.
Un objet est une variable de type classe et on dit qu’un objet est une instance d'une classe (i.e.,
une variable dont le type est une classe). Un objet est donc la réalisation effective d'une classe. Pour
chaque instance d’une classe, le code est le même, seul les données sont différentes à chaque objet.
Syntaxe de déclaration d’une classe: public class Nom_classe. Donc la structure d’une classe :
Nom_classe
Signature var1
Signature var2
...
Signature varN
Signature méthode1
Signature méthode2
...
Signature méthodeM
Les attributs d’une classe sont déclarés en utilisant le mot clé private et le Type_Attribut peut être
int, char, etc..
Les méthodes sont les opérations à appliquer aux objets de la classe. Elles sont définies de façon
générique pour toutes les instances possibles d'une classe mais, à l'exécution, une méthode est reliée
à une seule instance de sa classe. Ainsi, appeler une méthode n'a pas de sens en soi. On appelle la
méthode sur une instance de la classe. On précisera donc toujours l'objet sur lequel la méthode
s'exécute. Au sein de la méthode, on peut utiliser les noms des attributs pour accéder directement
aux attributs de l'objet sur lequel la méthode a été appelée.
C’est la méthode la plus simple. Son corps peut contenir n’importe quel traitement.
Sa signature est :
Le rôle d'un constructeur est l'instanciation d’un objet (la création d’une instance). Une fois on
définit une classe on peut créer (ou déclarer) autant d'objets de type la classe définie. Un objet est
donc la matérialisation concrète d'une classe. On dit qu'un objet est une instance d'une classe (i.e.,
une "variable" dont le type est une classe) et créer un objet c'est instancier une classe.
Les constructeurs permettent de définir des comportements particuliers des attributs lors de
l'instanciation d'une classe. Donc le rôle des constructeurs n'est pas seulement de construire les
objets, mais c'est aussi d'initialiser les objets.
Le constructeur par défaut est sans paramètres. Il s’écrit de la façon suivante:
public Nom_Classe ( )
{
...
}
Le mot clé "this." est utilisé pour lever ambiguïté entre les attributs et les champs d’instance. Il est
utile lorsqu’on a besoin de se référer à l’instance de l’objet dans laquelle on se trouve. "this." est
absolument nécessaire lorsque le nom de l’attribut et celui du paramètre du constructeur (ou autre
méthode) sont les mêmes. Comme dans l’exemple ci-dessus : couleur et couleur. this.couleur fait
référence à la variable couleur (l'attribut) alors que couleur (après le =) fait référence à la valeur de
l’argument donné en appelant la méthode.
Les setts sont des méthodes qui affectent des paramètres à des attributs. Elles permettent la
modification des attributs et l'initialisation des attributs des objets crées par un constructeur sans
paramètres. Sa signature est :
public type_d’attribut Nom_méthode (type param1)
{
Nom_Attribut = param1 ;
}
Application
Ecrire un programme qui permet de créer une classe Etudiant ayant pour attributs nom, prénom,
matricule et pour méthodes les getts et setts de ces attributs, un constructeur sans paramètres et un
constructeur avec tous les paramètres.
Nom-classe Nom-objet
Etudiant Et1;
Pour que cet objet soit réellement construit, c’est `a dire que la référence désigne un emplacement à
partir duquel on pourra accéder aux caractéristiques de l’objet, on devra appeler l’opération new qui
alloue cet emplacement en mémoire et le renvoie à la référence de l’objet. On dispose alors d’une
nouvelle instance de l’objet. Par exemple, pour la construction effective de notre Etudiant Et1, on
écrira:
8
Nom_objet.Nom_méthode ;
Exemple: Etud1.getMat( ) ;
La syntaxe d'appel d'une méthode My method ( ) appartenant à la classe Myclass, est la suivante :
Application
compléter la classe de l'application ci-dessus en ajoutant la fonction "main ( )" qui permet de :
- créer un objet "et1" en utilisant le constructeur avec paramètres et un objet "et2" en utilisant le
constructeur sans paramètre;
- afficher les matricules des deux objets;
- remplir le matricule de et2 en utilisant la méthode set_Matricule;
9
5.1. Affichage
L'affichage sur la console se fait à l'aide des méthodes de la classe "System". La concaténation des
messages et des données (valeurs de variables) se fait à l’aide de l’opérateur "+".
Exemple :
Pour lire une donnée à partir du clavier, on fait appel à la classe Scanner dont l’instanciation est :
lire est l'objet de la classe Scanner qu'on peut utiliser pour la lecture des donnés L’appel de l’objet
lire se fait en appelant l’une de ses méthodes qui dépend du type de la variable qui va être lue.
10