0% ont trouvé ce document utile (0 vote)
8 vues34 pages

Gestion des employés en Java : classes et objets

Transféré par

hibachaabnia98
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)
8 vues34 pages

Gestion des employés en Java : classes et objets

Transféré par

hibachaabnia98
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

Année Universitaire: 2023 - 2024 68


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.

69
Identification de l’Objet

Employe
L’OBJET

nom
prenom LES ATTRIBUTS
agre
dateEntree

ajouterEmploye();
LES METHODES
calculerSalaire();

70
Les attributs

 Caractéristique d’un attribut


 Variable globale de la classe
 Accessible dans toutes les méthodes de la classe

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

• Le nom de l’attribut doit commencer par une lettre minuscule


• Exemple: nom, age, dateEntree

71
Les méthodes

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

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

72
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
73
Classe VS Objet

 La création d’un objet à partir d’une classe est appelée une


instanciation
 L’objet créé est une instance de la classe
 Déclaration
 Définit le nom et le type de l’objet
 Un objet seulement déclaré vaut « null »
 Création et allocation de la mémoire
 Appel de méthodes particulières: constructeurs
 La création réserve la mémoire et initialise les attributs
 Renvoi d’une référence sur l’objet maintenant créé
 monObjet != null

74
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.

75
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

 Création d’une variable E1 de type Employe


 E1 est une référence à la classe Employe
Mémoire
 Instanciation de la classe Employe = création
0x034009 de l’objet
E1 nom Ali  Cet objet possède une adresse de son
0x034009
prenom XXXXXX emplacement dans la mémoire (0x034009)
age XXXXXX
dateEntree XXXXXX En utilisant la référence E1 on peut
accéder aux attributs de l’objet 76
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
} prenom XXXXXX
age XXXXXX
dateEntree XXXXXX

Stack Heap

77
Les constructeurs

 Une instance d’une classe est créée par un des constructeurs de la


classe
 new Constructeur (paramètres)

 Une fois qu’elle est créée, l’instance

 a son propre état interne (les valeurs des variables)

78
Les constructeurs

 Méthode particulière, sans type de retour

 Possède le même nom que celui de la classe

 Permet d’initialiser les attributs de l’objet nouvellement créé

 On peut définir plusieurs constructeurs différents


 Différence au niveau des paramètres

 Constructeur par défaut


 Utilisé si aucun autre constructeur est spécifié
 Initialise à « null » tous les attributs de l’objet

79
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() {}
}
}
}

80
Les constructeurs

Constructeur par défaut

Employe(){}
Employe(){
nom=‘’Rim’’; Le constructeur par défaut initialise
prenom =‘’Nejah’ ’; les attributs de la classe aux valeurs
age= 29; par défaut
dateEntree = ’’03/06/2016’’;
}

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

Un autre exemple:
Les constructeurs

Un autre exemple:
Les constructeurs

Un autre exemple:
Les constructeurs

• Une classe qui déclare aucun constructeur


explicitement en possède toujours un: le
constructeur vide par défaut.
• Si l’on crée un constructeur explicite -> le
constructeur vide implicite ne sera plus créé par le
compilateur.
• Pour l’utiliser, il doit être créer explicitement

85
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.

86
Les constructeurs

• si le constructeur a comme argument un nom de variable


identique à un attribut de la classe et qu’on souhaite
l'initialiser avec la variable passée en paramètre, alors on écrit
:

constructeur(int maVar)
{
[Link]=maVar;
}

87
Accès aux membres

88
Accès aux membres
Destruction d'un objet
Destruction d'un objet
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.
il est interdit d'avoir ces deux méthodes dans une classe
 int calculerSalaire(int echelon)
 double calculerSalaire(int echelon)

92
Attribut local

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


• 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.

93
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.
• Appelé avec le nom de l’instance.

94
Attribut de classe 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.
• Il n’appartient pas à une instance particulière
mais à toute la classe.

95
Attribut de classe static
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.

97
La méthode toString()

 La méthode toString() est définie dans la classe Object ; en


conséquence toutes les classes Java en hérite.

 La méthode toString() définie dans la classe Object renvoie le


nom de la classe de l'objet concerné suivi de l'adresse de cet
objet.

 Redéfinir la méthode toString() afin de donner plus de


description à l’objet.
La méthode toString()

 Le prototype de la méthode toString() défini dans la


classe Object est:
public String toString();

 Lors de la redéfinition, on fait en sorte que la méthode


retourne une chaine de caractère :

public String toString() {


return "l’employé " + [Link] + " : age " + [Link] +
", date_entrée " + [Link];
}
La méthode toString()

public String toString() {


return "l’employé " + [Link] + " : age " + [Link] +
", date_entrée " + [Link];
}

[Link](E1);

conduit à écrire à l'écran:


l’employé Ahmad : age 30, date_entrée 10/07/2021
Exercice d'application

 Un robot est défini par un identifiant (chaîne), une position dans le plan
cartésien et une orientation ("Est", "Ouest", "Nord" et "Sud"). Le Robot ne
peut se déplacer que selon ces 4 directions.

 Définir une classe Robot avec différents constructeurs.


 Ajouter une méthode avancerRobot. Le nombre de pas est spécifié dans
les paramètres de la méthode.
 Ajouter une méthode tournerDroite.
 Ajouter une méthode qui affiche l’état d’un robot.

 Ecrire une classe TestRobot pour mettre en œuvre la classe Robot.

Vous aimerez peut-être aussi