SlideShare une entreprise Scribd logo
INTRODUCTION A LA
PROGRAMMATION ORIENTEE
OBJET
GL
Plan
 Introduction
 POO Vs Autres paradigmes de programmation
 Avantages de la POO
 C’est quoi un objet?
 Caractéristiques fondamentales des objets
 Notion de classe
 Encapsulation
 Généralisation
 Spécialisation
 Bases du langage Java
2
Introduction
Contrairement à ce que l’on pourrait croire, le concept de la programmation
orientée objet n’est pas récent. C’est dans les années 60 que deux brillants
chercheurs norvégiens, Kristen Nygaard et Ole-Johan Dahl, ont développé les bases
de la programmation orientée objet en créant le langage Simula. Les notions de base
de la POO comme les classes, l’héritage, les méthodes virtuelles, etc. furent alors
créées dans ce langage pour parvenir à modéliser de façon fidèle des processus
industriels complexes.
3
POO Vs Autres paradigmes
de programmation
4
Il existe différents styles de programmation:
Fondé sur l'évaluation d'expressions qui ne dépendent que de la
valeur des arguments, et non de l'état de la mémoire
➢ On parle aussi de programmation fonctionnelle
➢ Proche des notations mathématiques, utilise beaucoup la récursivité
➢ Accepte des arguments, produit un résultat (pas d'« effet de bord »)
➢Ex: Lisp, Caml, ML, Haskel
Style applicatif
POO Vs Autres paradigmes de
programmation (suite)
Fondé sur l'exécution d'instructions qui modifient l'état de la
mémoire
➢ Utilise beaucoup les itérations et autres structures de contrôle
➢ Les structures de données sont fondamentales
➢Ex: Fortran, C, Pascal
Style impératif / procédural
5
POO Vs Autres paradigmes de
programmation (suite)
 C'est un style de programmation où l'on ne considère que des
composants autonomes (les objets) disposant des ressources et
de moyens d'interactions entreeux.
 Ces objets représentent des données qui sont modélisées par
des classes qui définissent des types
 En plus de la manière dont sont structurés leurs objets, les
classes définissent les actions qu'ils peuvent prendre en charge
et la manière dont ces actions affectent leur état
 ce sont des «messages» ou des «méthodes».
 Simula, Smalltalk, C++, C#

6
Style objet
Avantages POO
 Les caractéristiques de bases précédemment décrites peuvent être mises en oeuvre
dans un style impératif, mais des fonctionnalités propres au style objet favorisent .
 la programmation modulaire
 l'abstraction
 la spécialisation
L'objectif de la POO étant de produire du code
 facile à développer, à maintenir, à faire évoluer,
 réutilisable, tout ou en partie, sans avoir besoin de le dupliquer
 générique, et dont les spécialisations sont transparentes
7
Programmation modulaire
 La conception par classes, représentant à la fois les données, les actions et les
responsabilités des objets de cette classe, permet de bien distinguer et séparer les concepts
 Le fait de définir des « interfaces », au sens « moyens et modalités de communication avec
l'extérieur » permet de cacher les détails d'implémentation et d'éviter les dépendances trop
fortes
 Tout ça favorise la réutilisabilité et la composition / délégation:l'assemblage des composants
en respectant leurs responsabilités
.
8
L’abstraction et la spécialisation
9
 L'abstraction demande à séparer la définition (d'un type, d'une classe, d'une
méthode) de l'implémentation
Permet d'identifier un modèle commun à plusieurs composants
Ce modèle commun pourra être partagé via le mécanisme d'héritage
La spécialisation traite des cas particuliers, mais elle doit autant que possible rester
transparente
C’est quoi un objet?
10
un objet est une entité qui a son état et son comportement.
L’objet maintient son état dans une ou plusieurs variables.
Variable=donnée nommé par un identificateur
L’objet implémente son comportement par les méthodes
Méthode = fonction associée à un objet
Un objet est une entité informatique comprenant les variables et les méthodes
Représentation graphique des objets
11
Exemple d’objet du monde réel
12
Caractéristiques fondamentales des objets
13
Communication entre objets
14
Communication entre objets (suite)
15
Notion de classe
16
Représentation graphique des classes
17
Hiérarchie des classes
18
Classe-Notation UML
19
Relation entre les classes « contient »
20
Relation entre les classes « utilise »
21
Relation entre les classes « hérite »
22
Relation entre les classes « hérite » (suite)
23
24
Encapsulation
Généralisation
25
Spécialisation
26
Propriétés de la généralisation
27
Vocabulaire
28
Les bases du langage Java
29
Présentation
30
Premier exemple
31
Compilation, bytecode et JVM
32
Le bytecode
33
La machine virtuelle (JVM)
34
Java : un langage et une plateforme
35
Algorithmique: Rappels
36
Généralités
37
Généralités
38
Les variables
39
Les variables (suite)
40
Les constantes
41
Interactions avec l’utilisateur
42
Interactions avec l’utilisateur
43
Interactions avec l’utilisateur
44
Interactions avec l’utilisateur
45
Interactions avec l’utilisateur
46
Interactions avec l’utilisateur
47
Les chaines de caractère
48
Les chaines de caractère
49
Les chaines de caractère
50
Les chaines de caractère
51
Les conditions
52
Les conditions
53
Les conditions
54
Les itérations
55
Les itérations
56
Il existe deux autres structures itératives:
Les itérations
57
Les tableaux
58
Les tableaux
59
Les tableaux
60
Les tableaux
61
Les méthodes
62
Les méthodes
63
Les méthodes
64
Les méthodes
65
Les méthodes
66
Les méthodes
67
Les méthodes
68

Contenu connexe

Similaire à CPOO.pdf

Language C++ Ch01
Language C++ Ch01 Language C++ Ch01
Language C++ Ch01
yarsenv47
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
Lilia Sfaxi
 
UML-jamil.pptx
UML-jamil.pptxUML-jamil.pptx
UML-jamil.pptx
kdekde1
 
Patrons de conception de la programmation fonctionnelle
Patrons de conception de la programmation fonctionnellePatrons de conception de la programmation fonctionnelle
Patrons de conception de la programmation fonctionnelle
Association Agile Nantes
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
Yassine Badri
 
Qualité de code et bonnes pratiques
Qualité de code et bonnes pratiquesQualité de code et bonnes pratiques
Qualité de code et bonnes pratiques
ECAM Brussels Engineering School
 
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueVisite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Gautier Poupeau
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
YasushiTsubakik
 
0306-formation-mise-a-niveau-uml.pdf
0306-formation-mise-a-niveau-uml.pdf0306-formation-mise-a-niveau-uml.pdf
0306-formation-mise-a-niveau-uml.pdf
BerrySeven
 
DesignPatternsISI.pdf
DesignPatternsISI.pdfDesignPatternsISI.pdf
DesignPatternsISI.pdf
andre543581
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zineb
Zineb ELGARRAI
 
Cours de C++, en français, 2002 - Cours 1.1
Cours de C++, en français, 2002 - Cours 1.1Cours de C++, en français, 2002 - Cours 1.1
Cours de C++, en français, 2002 - Cours 1.1
Laurent BUNIET
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
Amir Souissi
 
Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partie
kadzaki
 
m103-resume-cours-theorique-6156f136c407b.pdf
m103-resume-cours-theorique-6156f136c407b.pdfm103-resume-cours-theorique-6156f136c407b.pdf
m103-resume-cours-theorique-6156f136c407b.pdf
FootballLovers9
 
Modèles et métadonnées pour les scénarios pédagogiques
Modèles et métadonnées pour les scénarios pédagogiquesModèles et métadonnées pour les scénarios pédagogiques
Modèles et métadonnées pour les scénarios pédagogiques
Gilbert Paquette
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
Mansouri Khalifa
 

Similaire à CPOO.pdf (20)

Language C++ Ch01
Language C++ Ch01 Language C++ Ch01
Language C++ Ch01
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
UML-jamil.pptx
UML-jamil.pptxUML-jamil.pptx
UML-jamil.pptx
 
Patrons de conception de la programmation fonctionnelle
Patrons de conception de la programmation fonctionnellePatrons de conception de la programmation fonctionnelle
Patrons de conception de la programmation fonctionnelle
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Qualité de code et bonnes pratiques
Qualité de code et bonnes pratiquesQualité de code et bonnes pratiques
Qualité de code et bonnes pratiques
 
Poo
PooPoo
Poo
 
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueVisite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
 
Apprentissage du java
Apprentissage du javaApprentissage du java
Apprentissage du java
 
0306-formation-mise-a-niveau-uml.pdf
0306-formation-mise-a-niveau-uml.pdf0306-formation-mise-a-niveau-uml.pdf
0306-formation-mise-a-niveau-uml.pdf
 
DesignPatternsISI.pdf
DesignPatternsISI.pdfDesignPatternsISI.pdf
DesignPatternsISI.pdf
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zineb
 
Cours de C++, en français, 2002 - Cours 1.1
Cours de C++, en français, 2002 - Cours 1.1Cours de C++, en français, 2002 - Cours 1.1
Cours de C++, en français, 2002 - Cours 1.1
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
 
Cours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partieCours php & Mysql - 4éme partie
Cours php & Mysql - 4éme partie
 
m103-resume-cours-theorique-6156f136c407b.pdf
m103-resume-cours-theorique-6156f136c407b.pdfm103-resume-cours-theorique-6156f136c407b.pdf
m103-resume-cours-theorique-6156f136c407b.pdf
 
Modèles et métadonnées pour les scénarios pédagogiques
Modèles et métadonnées pour les scénarios pédagogiquesModèles et métadonnées pour les scénarios pédagogiques
Modèles et métadonnées pour les scénarios pédagogiques
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
Présentation cice telos
Présentation cice   telosPrésentation cice   telos
Présentation cice telos
 

Dernier

Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
frizzole
 
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptxcours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
AbdessamadAmimi1
 
Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
Michel Bruley
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
Txaruka
 
Presentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechniquePresentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechnique
mohammadaminejouini
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
Morzadec Cécile
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union
 

Dernier (7)

Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
 
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptxcours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
 
Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
 
Presentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechniquePresentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechnique
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
 

CPOO.pdf