Académique Documents
Professionnel Documents
Culture Documents
POO
Prof. Hakim ALLALI
Master ATSII Fev 2023
Plan
1
• Introduction
2
• Programmation Orientée Objet (POO)
3
• POO vs PPS (Prog. Procédurale Structurée)
4
• Avantages de la POO
5
• Notion d’objet
6
• Notion de classe et Modélisation UML
7
• Caractéristiques de la POO : Encapsulation
8
• Caractéristiques de la POO : Héritage
9
• Caractéristiques de la POO : Polymorphisme
haaaaaa 1
16/02/2023
Plan
1
• Introduction
2
• Programmation Orientée Objet (POO)
3
• POO vs PPS (Prog. Procédurale Structurée)
4
• Avantages de la POO
5
• Notion d’objet
6
• Notion de classe et Modélisation UML
9
• Caractéristiques de la POO : Polymorphisme
1
Introduction
haaaaaa 2
16/02/2023
Introduction
Essentiellement, parce qu’elles ont sous-traité une bonne
partie de leurs travaux. Elles ont acheté des éléments à
des vendeurs réputés et se sont chargées de
l’assemblage des machines.
(alimentations, disques durs, cartes mères, etc.)
Plan
1
• Introduction
2
• Programmation Orientée Objet (POO)
3
• POO vs PPS (Prog. Procédurale Structurée)
4
• Avantages de la POO
5
• Notion d’objet
6
• Notion de classe et Modélisation UML
7
• Caractéristiques de la POO : Encapsulation
8
• Caractéristiques de la POO : Héritage
9
• Caractéristiques de la POO : Polymorphisme
haaaaaa 3
16/02/2023
2
Programmation orientée objet
2
Programmation orientée objet
Le programmeur
Doit d’abord identifier les objets qui doivent être
utilisés (ou manipulés) par le programme: on
commence par décider quels objets doivent être
inclus dans le programme.
Va ensuite, écrire les traitements, en associant
chaque traitement à un objet donné.
haaaaaa 4
16/02/2023
2
Programmation orientée objet
Il s'agit donc :
Plan
1
• Introduction
2
• Programmation Orientée Objet (POO)
3
• POO vs PPS (Prog. Procédurale Structurée)
4
• Avantages de la POO
5
• Notion d’objet
6
• Notion de classe et Modélisation UML
7
• Caractéristiques de la POO : Encapsulation
8
• Caractéristiques de la POO : Héritage
9
• Caractéristiques de la POO : Polymorphisme
10
haaaaaa 5
16/02/2023
3
POO vs PPS (Prog. Procédurale Structurée)
11
12
haaaaaa 6
16/02/2023
3 POO vs PPS
POO PPS
Gérer le stock
Cours C++
RITCHIE
The independent Asmae ALAMI Latifa KAMAL
Directrice Lectrice
14
haaaaaa 7
16/02/2023
15
Problématique de la Programmation
haaaaaa 8
16/02/2023
POO
17
Plan
1
• Introduction
2
• Programmation orientée objet (POO)
3
• POO vs PPS (Prog. Procédurale Structurée)
4
• Avantages de la POO
5
• Notion d’objet
6
• Notion de classe
7
• Caractéristiques de la POO : Encapsulation
8
• Caractéristiques de la POO : Héritage
9
• Caractéristiques de la POO : Polymorphisme
18
haaaaaa 9
16/02/2023
4
Avantages de la POO
19
4
Avantages de la POO
20
haaaaaa 10
16/02/2023
PPS vs POO
21
22
haaaaaa 11
16/02/2023
Plan
1
• Introduction
2
• Programmation orientée objet (POO)
3
• POO vs PPS (Prog. Procédurale Structurée)
4
• Avantages de la POO
5
• Notion d’objet
6
• Notion de classe et Modélisation UML
9
• Caractéristiques de la POO : Polymorphisme
23
24
haaaaaa 12
16/02/2023
5
Notion d’objet
25
Gérer le stock
Cours C++
RITCHIE
The independent Asmae ALAMI Latifa KAMAL
Directrice Lectrice
26
haaaaaa 13
16/02/2023
28
haaaaaa 14
16/02/2023
Vocabulaire à retenir
29
5
Notion d’objet: 3 caractéristiques
Un objet est caractérisé par :
30
haaaaaa 15
16/02/2023
5
Notion d’objet: 3 caractéristiques
1) son identité
31
5
Notion d’objet: 3 caractéristiques
2) son état
Quel est la réaction de l’objet
lorsqu’on lui applique une méthode?
haaaaaa 16
16/02/2023
Etat de l’objet
Il est défini à l’aide d’attributs (appelés aussi données membres).
Ce sont des variables associées à l’objet et qui stockent des valeurs
(des informations sur l'état de l'objet).
Exemple:
L’état de l’objet voiture:v1 de type Voiture est caractérisé par les
attributs:
marque = toyota
modele = yaris
couleur = rouge
marque = toyota
modele = yaris Description des attributs
couleur = rouge
33
5
Notion d’objet: 3 caractéristiques
3) son comportement
34
haaaaaa 17
16/02/2023
Comportement de l’objet
envoie de message
36
haaaaaa 18
16/02/2023
37
38
haaaaaa 19
16/02/2023
39
40
haaaaaa 20
16/02/2023
Plan
1
• Introduction
2
• Programmation orientée objet (POO)
3
• POO vs PPS (Prog. Procédurale Structurée)
4
• Avantages de la POO
5
• Notion d’objet
6
• Notion de classe et Modélisation UML
9
• Caractéristiques de la POO : Polymorphisme
41
42
haaaaaa 21
16/02/2023
6
Notion de class
Des objets similaires peuvent être informatiquement décrits par
une même abstraction : une classe
même structure de données et méthodes de traitement
valeurs différentes pour chaque objet
Classe Lecteur
Classe Livre Classe Employé
Classe Journal
Cours C++
RITCHIE
The independent Asmae ALAMI Latifa KAMAL
Directrice Lectrice
43
Notion de class
Classe Lecteur
Classe Livre Classe Employé -nom, prénom, statut
-titre, auteur Classe Journal -nom, prénom, statut
-titre
Cours C++
RITCHIE
The independent Asmae ALAMI Latifa KAMAL
Directrice Lectrice
Ali IDRISSI
Lecteur
Cours Java Hamza KARIMI
DELANNOY Bibliothécaire
44
haaaaaa 22
16/02/2023
Notion de class
-Nom=ALAMI
Titre = Cours C++ - prénom = Asmae
Auteur = Richie -Statut = directrice
The independent Asmae ALAMI Latifa KAMAL
Directrice Lectrice
Titre = Cours Java Ali IDRISSI
Lecteur
Auteur = Delannoy Hamza KARIMI
Bibliothécaire
45
Notion de class
Classe Lecteur
Classe Journal -nom, prénom, statut
-titre + ListeDeLivresEmpruntés()
Cours C++
RITCHIE
The independent Asmae ALAMI Latifa KAMAL
Directrice Lectrice
46
haaaaaa 23
16/02/2023
Notion de class
Une classe (ou type d’objets) représente une famille d’objets
qui partagent des propriétés communes: les objets qui ont les
mêmes attributs et les mêmes comportements.
47
48
haaaaaa 24
16/02/2023
49
50
haaaaaa 25
16/02/2023
1994:
Consensus sur 3 méthodes
• OMT (Object-Modeling Technique): représentation graphique des
aspects statiques, dynamiques et fonctionnels d’un système
• OOD (Object-Oriented Design) : concept de package
• OOSE (Object-Oriented Software Engineering) : description des
besoins de l’utilisateur
51
haaaaaa 26
16/02/2023
53
54
haaaaaa 27
16/02/2023
55
aux
- : private
# : protected
+ : public
$ (ou souligné) : static
56
haaaaaa 28
16/02/2023
57
58
haaaaaa 29
16/02/2023
59
Hamza Hind
12 17
15
instances Hamza et Hind).
18
60
haaaaaa 30
16/02/2023
61
T1
T2
T3
62
haaaaaa 31
16/02/2023
Classe Television
Code Java de la classe Television Modélisation UML de la classe
Television
public class Television {
Television
// Attributs
private int volume; - volume : int
- chaine : int
private int chaine; - estAllume: boolean
63
64
haaaaaa 32
16/02/2023
65
Un prénom Manger
Un nom Boire
Une date de naissance Parler
Une adresse Dormir
Un lieu de naissance Rougir
haaaaaa 33
16/02/2023
67
private int id ;
private String nom;
private String prenom;
private String dateNaissance;
private String lieudeNaissance;
public static int nbEleve =0 ;
68
haaaaaa 34
16/02/2023
69
private int id ;
private String nom;
private String prenom;
private String dateNaissance;
private String lieudeNaissance;
Une variable de classe est une variable qui est commune à toutes
les instances de cette classe. Une variable de ce type peut être
accessible sans avoir à passer par une instance de la classe.
70
haaaaaa 35
16/02/2023
- : private
# : protected
UML:Unifed Modeling Language + : public
$ (ou souligné) : static
haaaaaa 36
16/02/2023
74
haaaaaa 37
16/02/2023
Eleve Classe
Objet1 Objet2
Eleve01 Eleve02
Id=01 Id=02
nom=Karimi nom=Hasnaoui
prenom=Hasna prenom=Sara
dateNaissance=01/12/2010 dateNaissance=01/02/2015
lieudeNaissance=Settat lieudeNaissance=Casa
nbEleve=01 nbEleve=02
76
haaaaaa 38
16/02/2023
Recette
……..
……..
………
………
77
- : private
# : protected
UML:Unifed Modeling Language + : public
$ (ou souligné) : static
haaaaaa 39
16/02/2023
haaaaaa 40
16/02/2023
Constructeur de « Voiture »
haaaaaa 41
16/02/2023
83
haaaaaa 42
16/02/2023
85
86
haaaaaa 43
16/02/2023
EXERCICES A FAIRE
Le nom du fichier pdf doit être enregistré sous cette forme
ATSII23_TD1C_Nom1_Nom2
88
haaaaaa 44
16/02/2023
Exercice:
Une société de textile vend des chemises par catalogue.
On veut développer un programme pour cette société.
On sait qu’une chemise possède les caractéristiques suivantes:
Chaque chemise:
• possède un identifiant- code à barre
• est disponible en plusieurs coloris– bleu, gris, etc
• est disponible en plusieurs tailles
• a un prix
• a une description – type du tissu, style, etc
• quantité dans le stock
89
haaaaaa 45
16/02/2023
Une classe n'est pas un objet. Une classe est un patron d'objet.
Classe « Chemise »
Objet 1 Objet 2
Id: 101 Id: 201
Prix: 20$ Prix: 30$
Taille: M Taille: S
Couleur: Bleu Couleur: Rouge
Quantite: 200 Quantite: 180
91
haaaaaa 46
16/02/2023
93
Classe Voiture
public class Voiture{
private boolean estDemarree;
private String couleur;
private qteCarburant;
private int puissance;
private int position;
}
}
haaaaaa 47
16/02/2023
95
96
haaaaaa 48