Computing">
[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
3 vues27 pages

Cours Java - Ch3

Le chapitre présente les concepts de classe et d'objet en programmation orientée objet, en utilisant un exemple de gestion des salaires des employés dans une application Java. Il explique la structure d'une classe, la déclaration des attributs et des méthodes, ainsi que le fonctionnement des constructeurs et des références. Enfin, il aborde les types d'attributs et de méthodes, y compris les méthodes statiques et la méthode main.

Transféré par

Farah GHARBI
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues27 pages

Cours Java - Ch3

Le chapitre présente les concepts de classe et d'objet en programmation orientée objet, en utilisant un exemple de gestion des salaires des employés dans une application Java. Il explique la structure d'une classe, la déclaration des attributs et des méthodes, ainsi que le fonctionnement des constructeurs et des références. Enfin, il aborde les types d'attributs et de méthodes, y compris les méthodes statiques et la méthode main.

Transféré par

Farah GHARBI
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 3:

Classe et Objet

1
Raisonnement Orienté Objet

Le directeur d'une entreprise souhaite gérer les salaires de ses employés au


moyen d'un programme java.

Un employé est caractérisé par son nom, son prénom, son âge et sa date
d'entrée en service dans l'entreprise.

Cette application permet d’ajouter un nouveau employé et calculer son salaire.

2
Identification de l’Objet

Employe
L’OBJET

nom
prenom LES ATTRIBUTS
agre
dateEntree

ajouterEmploye();
LES METHODES
calculerSalaire();

3
Classe VS Objet

• Une classe n'est pas un objet. Une classe est un patron d'objet. C’est le
modèle à suivre lors de la création des instances.

Classe «Employe»

Objet 1 Objet 2 Objet 3


nom: Ahmed nom: Ali nom: Rim
prenom: Mahmoud prenom: Salah prenom: Nejah
age: 27 age: 32 age: 29
dateEntree: 28/10/2012 dateEntree: 12/12/2014 dateEntree: 03/06/2016
4
Classe VS Objet

• Classe: structure d'un objet, la déclaration de l'ensemble


des entités qui composeront un objet.

• Un objet est une instanciation d'une classe objet=instance

• Une classe est composée de deux parties:

1. Les attributs : il s'agit des données représentant l'état


de l'objet
2. Les méthodes : il s'agit des opérations applicables aux
objets

5
Déclaration
Déclaration d’uned’une
classe classe

public class Employe {


/*Déclaration des attributs*/
/*Déclaration des méthodes*/
//commentaire sur une seule ligne
/*commentaires sur
plusieurs lignes*/
}

• Le nom de la classe doit commencer par une majuscule


• Exemple: CompteBancaire, AgenceVoyage

6
Déclaration des attributs

Syntaxe:
type nom_attribut[=value];
Exemple :
int i = 0;

• Le nom de l’attribut doit commencer par une


lettre minuscule
• Exemple: nom, age, dateEntree
7
Déclaration des méthodes

Syntaxe:
Type_retour nom_methode([arguments]){}
Exemple :
void ajouterEmploye(){}

• Le nom de la méthode doit commencer par un


verbe.
8
Notion de référence

• Une référence nous permet de trouver l’objet.

• En utilisant la référence, on peut accéder aux


attributs et méthodes de l’objet.

9
Notion de référence
Mémoire
public class Test{ 0x034009
public static void main(String[] args){ E1 nom XXXXXX
Employe E1; 0x034009
prenom XXXXXX
E1=new Employe(); age XXXXXX
[Link]=‘Ali’; dateEntree XXXXXX
}
} Stack Heap
Cet objet possède une adresse de son
emplacement dans la mémoire (0x034009)
Mémoire

0x034009
E1 nom Ali
0x034009
XXXXXX En utilisant la référence E1 on peut
prenom
age XXXXXX accéder aux attributs de l’objet
dateEntree XXXXXX
10
Stack Heap
Notion de référence
Mémoire

0x034009
E1 nom XXXXXX
0x034009
prenom XXXXXX
public class Test{ age XXXXXX
public static void main(String[] args){ dateEntree XXXXXX
Employe E1=new Employe();
Employe E2=new Employe(); 0x99f311
} E2 nom XXXXXX
0x99f311 XXXXXX
} prenom
age XXXXXX
dateEntree XXXXXX

Stack Heap

11
Les constructeurs

• Pour créer un objet à partir d'une classe, on


utilise l'opérateur new.
• Un constructeur porte le même nom que la
classe dans laquelle il est défini.
• Un constructeur n'a pas de type de retour.

12
Les constructeurs

L’opérateur new fait appel au


public class Test{ constructeur de la classe
public static void main(String[] args){
Employe E1;
class Employe{
E1=new Employe();
Employe() {}
}
}
}

13
Les constructeurs
Constructeur par défaut

Employe(){}
Employe(){
nom=‘Rim’;
prenom =‘ Nejah’;
age= 29;
dateEntree = ‘03/06/2016’;
}

Constructeur surchargé
Employe(String nom, String prenom, int age, String dateEntree){
[Link]=nom;
[Link] = prenom;
[Link]= age;
[Link] = dateEntree;
}
14
Les constructeurs

• En cas d’absence de constructeur dans la


classe, le compilateur crée automatiquement
un constructeur par défaut implicite.
• Si le constructeur surchargé est créé, le
constructeur par défaut implicite ne sera plus
créé par le compilateur.

15
Les constructeurs

• La plateforme java différencie entre les différents


constructeurs déclarés au sein d’une même classe
en se basant sur le nombre des paramètres et
leurs types. On ne peut pas créer deux
constructeurs ayant le même nombre et types
des paramètres.
• Le mot-clé this permet de désigner l’objet
courant, this permet d'accéder aux attributs et
méthodes de l’objet courant. Il permet aussi
d’appeler le constructeur de l’objet courant:
this().
16
Méthodes

Deux types de méthodes servent à donner accès


aux variables depuis l’extérieur de la classe :
• les accesseurs en lecture pour lire les valeurs
des variables (accesseur)
• les modificateurs ou accesseurs en écriture,
pour modifier leur valeur

17
Méthodes

18
Méthodes

Les méthodes sont définies par


• le nom
• les paramètres avec leur types (optionnel)
• le type de retour
• un qualificateur (public, protected, private)
• le corps de la méthode (instructions)
Utilisation : référence. méthode(arguments)
[Link](68);
19
Surcharge d’une méthode

Ajouter une méthode qui a le même nom mais


pas la même signature qu’une autre méthode :
• calculerSalaire(int echelon)
• calculerSalaire(int echelon, double prime)

Il est interdit de surcharger une méthode en


changeant le type de retour.
20
Attribut local

• Déclaré dans une méthode, un constructeur


ou un bloc.
• N’existe que localement, n’est pas visible de
l’extérieur.
• Sorti de son espace, il n’existe plus, la
mémoire correspondante est libérée.

21
Attribut de classe ou static

• Déclaré avec le mot clé static dans une classe,


en dehors d’une méthode
• Défini pour l’ensemble du programme et
visible depuis toutes les méthodes

22
Attribut d’instance

• Utilisé pour caractériser l’instance d’un objet


créée par un constructeur.
• Déclaré dans une classe, en dehors des
méthodes.
• Créé quand un objet est créé et détruit quand
l’objet est détruit.

23
Déclaration des attributs

Tout attribut doit être déclaré avant d’être


utilisé.
Déclaration d’un attribut : On indique au
compilateur que le programme va utiliser une
variable de ce nom et de ce type.
Exemple :
• double prime;
• Employe e1;
24
Déclaration des attributs

• Le nom d'un attribut : est appelé un identificateur


obéissant à certaines règles syntaxiques.
• Le type : correspond au type de données qu'elle
devra contenir, en l'occurrence soit un type
primitif (int, float, char, boolean, etc.), soit un
type composite (String, File, Vector, Array, etc.).
• La valeur : doit être conforme à son type de
données.
25
Méthode de classe

• Pour désigner une méthode static depuis une


autre classe, on la préfixe par le nom de la
classe :
int n = [Link]();
• Comme une méthode de classe exécute une
action indépendante d’une instance
particulière de la classe, elle ne peut utiliser
de référence à une instance courante (this).

26
La méthode static main

La méthode main() est nécessairement static,


car :
• La méthode main() est exécutée au début du
programme.
• Aucune instance n’est donc déjà créée lorsque
la méthode main() commence son exécution.
Ça ne peut donc pas être une méthode
d’instance.

27

Vous aimerez peut-être aussi