LFSI 2- LARI 2
Les classes
Les classes
Une classe est constituée de:
Données : Ce qu’on appelle des attributs
Procédures et/ou des fonctions : Ce qu’on appelle des
méthodes
Une classe est un modèle de définition pour des objets
Ayant même structure (même ensemble d’attributs)
Ayant même comportement (même méthodes)
Ayant une sémantique commune
Les objets sont des représentations dynamiques (instanciation),
du modèle défini pour eux à travers la classe
Une classe permet d’instancier (créer) plusieurs objets
Chaque objet est instance d’une classe et une seule
Structure de classe
Une classe comporte sa déclaration, des variables et la définition de
ses méthodes.
! !
! "
Mots clés
Les modificateurs abstract et final ainsi que public et private
sont mutuellement exclusifs
Syntaxe:
Syntaxe:
#
$ #
Les objets
Les objets contiennent des attributs et des méthodes.
Syntaxe:
nomClasse nomVariable;
nomVariable = new nomClasse([liste de paramètres]);
Remarque:
La destruction d’un objet consiste à libérer les ressources qui lui ont été
déjà affectées par le constructeur.
Par exemple la fermeture des fichiers qui sont déjà ouverts lors de
manipulation d’un objet à détruire
Pour cela, une autre méthode spéciale, appelée finalize() peut être
définie
nomInstance.nomAttribut
Accès à une méthode
Pour accèder à une méthode à partir de l’intérieur de la classe,
l’accès se fait toujours à l’intérieur d’une méthode en précisant
le nom de la méthode ainsi que la liste de ses paramètres
Remarque:
!
Références: this et null
Le mot clé this représente une référence sur l’objet courant.
Il n'est pas possible d'indiquer des valeurs par défaut dans les
paramètres.
Les paramètres
Un paramètre d’une méthode peut être:
Une variable de type simple
Une référence d’un objet typé par n’importe quelle classe
En Java tout est passé par valeur
Les paramètres effectifs d’une méthode
La valeur de retour d’une méthode (si différente de « void »)
Les types simples
Leur valeur est recopiée
Leur modification dans la méthode n’entraîne pas celle de
l’original
Les objets
Leur référence est recopiée et non pas les attributs
Leur modification dans la méthode entraîne celle de l’original
Passage des paramètres
Les arguments sont passés par valeur : la méthode fait une copie de
la variable qui lui est locale.
Java transmet les arguments de type primitif par valeur ce qui signifie
que l’argument ne peut pas être modifié par la méthode appelée.
! !
#
# !
! !
&
' ! ( ! !
&
!
&
) !
! ! !
!
! !
! !
Modificateur de visibilité de méthodes
Modificateur Rôle
public la méthode est accessible aux méthodes des autres classes
private l'usage de la méthode est réservé aux autres méthodes de la même classe
protected la méthode ne peut être invoquée que par des méthodes de la classe ou de
ses sous-classes
final la méthode ne peut être modifiée (redéfinition lors de l'héritage interdite)
static la méthode appartient simultanément à tous les objets de la classe. Il est
inutile d'instancier la classe pour appeler la méthode mais la méthode ne peut
pas manipuler de variable d'instance. Elle ne peut utiliser que des variables
de classes.
synchronized la méthode fait partie d'un thread. Lorsqu'elle est appelée, elle barre l'accès à
son instance. L'instance est à nouveau libérée à la fin de son exécution
native le code source de la méthode est écrit dans un autre langage
$ $
! *
Modificateurs de visibilité (Résumé)
! " # $ % ! & ' # $ %
& &
& + &
+ +
! + +
& &
& + &
& + &
! + & + &
& &
& + &
& + &
! + & + &
Classes internes
Classes internes
Une classe interne est une classe définie à l’intérieur d’une
autre classe au même niveau qu’une méthode ou attribut.
, , , -
.
//
//
, , , , -
.
//
//
0
0
Exemple