0% ont trouvé ce document utile (0 vote)
60 vues41 pages

POOChapi 1

Le document présente une introduction à la programmation orientée objet (POO) en Java, en abordant ses concepts fondamentaux tels que les classes, objets, héritage, polymorphisme, encapsulation et abstraction. Il souligne les avantages de la POO, notamment la modélisation simplifiée, la robustesse, l'extension et la réutilisabilité des applications. Des exemples pratiques, comme la gestion d'une bibliothèque, illustrent les différences entre l'approche procédurale et l'approche orientée objet.

Transféré par

Anis Ben Aissa
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)
60 vues41 pages

POOChapi 1

Le document présente une introduction à la programmation orientée objet (POO) en Java, en abordant ses concepts fondamentaux tels que les classes, objets, héritage, polymorphisme, encapsulation et abstraction. Il souligne les avantages de la POO, notamment la modélisation simplifiée, la robustesse, l'extension et la réutilisabilité des applications. Des exemples pratiques, comme la gestion d'une bibliothèque, illustrent les différences entre l'approche procédurale et l'approche orientée objet.

Transféré par

Anis Ben Aissa
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

Niveau: 2ème Année GL

Enseignant:
Email:
Chapitre1: Introduction à la programmation orientée objet
Chapitre2: Notions de base Java
Chapitre3: Classes et Objets Java
Chapitre4: Héritage, Polymorphisme et Classes Abstraites
Chapitre5: Les Interfaces
Chapitre6: Les Exceptions

2
CHAPITRE1

3
PLAN DU CHAPITRE1
1. Définition de la Programmation orientée Objet (POO)
2. Objectifs de la POO
3. Concepts de base de la POO
4. Paradigmes de la POO: Encapsulation, abstraction, héritage et
polymorphisme

4
PLAN DU CHAPITRE1
1. Définition de la Programmation orientée Objet (POO)
2. Objectifs de la POO
3. Concepts de base de la POO
4. Paradigmes de la POO: Encapsulation, abstraction, héritage et
polymorphisme

5
 Un paradigme de programmation qui consiste à la définition d’une collection
d'objets qui communiquent entre eux par envoi de messages.

 Une approche naturelle de conception et de développement de logiciels.

 Représenter les éléments du monde réel par des entités informatiques


dénommées « objets ».

6
Raisonnement Orienté Objet?
Programmation Orientée Objet Programmation Procédurale
La structuration des programmes Il y a une dissociation entre les
autour des données en association avec données et les fonctions: des
leurs traitements spécifiques difficultés lorsque l’on désire changer
les structures de données.
Objet
2 Données
Objet
1
Fonction 1
Objet
3 Fonction 2
Objet
4 Fonction 3
7
PLAN DU CHAPITRE1
1. Définition de la Programmation orientée Objet (POO)
2. Objectifs de la POO
3. Concepts de base de la POO
4. Paradigmes de la POO: Encapsulation, abstraction, héritage et
polymorphisme

8
1. Modélisation Simplifiée

2. Robustesse

1. Extension simple

2. Réutilisabilité

9
- Les POO sont adaptés à la conception de grosses
applications car ils offrent une modélisation plus naturelle
- Modélisation simplifiée vu que le monde réel n'est pas
représenté par des structures de données et des fonctions
isolées (cas de la programmation classique) mais par des
objets correspondants aux éléments traités du champ de
l'étude.

10
Exemple: Gestion d’une bibliothèque
1. Approche procédurale :
« Que doit faire mon programme? »

Figure: Gestion d’une bibliothèque tirée du web


11
Exemple: Gestion d’une bibliothèque
2. Approche Orientée Objet :
« De quoi doit être composé mon programme? »

12
Robustesse:
- Maintenance facile: Détecter et cibler les bugs est plus
facile dans un programme orienté objet avec la gestion des
exceptions
- Encapsulation: Le typage dans les classes offrent une
certaine robustesse aux applications
- Robustesse par rapport aux changements inattendus: on a
pas besoin de tout réécrire

13
Extension:
Un programme orienté objet est facilement extensible. Il
suffit d’ajouter les classes d’objets dans le programme et
d’établir les liens nécessaires entre les objets.

14
Exemple: Gestion d’une bibliothèque
 Si on souhaite surveiller le compte bancaire des employés, on peut étendre
l’application par l’objet Compte et établir les connexions adéquates avec les
autres objets.
Compte

15
Réutilisabilté:
- Capacité de réutilisation totale ou partielle dans de
nouvelles applications

16
PLAN DU CHAPITRE1
1. Définition de la Programmation orientée Objet (POO)
2. Objectifs de la POO
3. Concepts de base de la POO
4. Paradigmes de la POO: Encapsulation, abstraction, héritage et
polymorphisme

17
1. Classe
2. Attributs et Méthodes
3. Objets

18
 Une classe représente un modèle de construction d’objets.
 Il s'agit d'une description abstraite en terme de données et de
comportements d'une famille d'objets.
 Une classe d'objets est constituée d'une partie statique et d'une partie
dynamique

19
 Une classe peut être vue comme le « plan de construction » d'objets

[https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/la-programmation-orientee-objet-6]

20
Des objets similaires peuvent être informatiquement modélisés par une même
abstraction: Une classe
 Même structure de données et mêmes traitements
 Valeurs différentes pour chaque objet

21
Une classe est constituée de deux parties:

 Partie statique : LES ATTRIBUTS : Les attributs représentent la description des


données propres à chaque classe d'objets. Ceux-ci peuvent être des objets
d'autres classes ou des références sur d'autres objets. Pour qualifier les attributs
d'une classe, on raisonnera en termes de propriétés
 Partie dynamique : LES METHODES : Les méthodes représentent l'ensemble des
actions, procédures, fonctions ou opérations que l'on peut associer à une classe.
L'ensemble des méthodes de la classe définit le "COMPORTEMENT "

22
 Exemple:

CLASSE VOITURE
ATTRIBUTS METHODES
Marque Démarrer
Modèle Accélérer
Immatriculation Freiner
Vitesse Stopper
Niveau de carburant Vidanger
Puissance Etc ....
Etc ...

23
Une instance de classe est un élément construit selon le modèle de sa classe: On nomme cet
élément "OBJET".

 Une classe est la définition d'un type.

 Un objet est une déclaration de variable.

 Après avoir crée une classe, on peut créer autant d'objets basés sur cette classe.

 Le processus de création d'un objet à partir d'une classe est appelé instanciation d'un objet ou
création d'une occurrence d'une classe.
 Les attributs (i.e. des variables) de la classe ont des valeurs.

 Les méthodes de la classe fonctionnent sur l’objet.

24
Objet = Etat + Comportement + Identité

 Un objet représente une entité du monde réel qui se caractérise par une identité,
des états et par un comportement
 L’identité d’un objet permet distinguer les objets les uns par rapport aux autres
 Son état correspond aux valeurs de tous les attributs à une instance donnée
 Le comportement d’un objet se définit par l’ensemble des opérations qu’il peut
exécuter en réaction aux messages envoyés (Un message = demande d’exécution
d’une opération) par les autres objets

25
EXEMPLES D'INSTANCES
DE LA CLASSE VOITURE

CLASSE VOITURE
PEUJOT
ATTRIBUTS METHODES 3008
3412 Tunis 200
Marque Démarrer
Automatique
Modèle Accélérer 300 Km /h
Immatriculation Freiner Essence
Vitesse Stopper 5 CV, ...
Niveau de carburant Vidanger
CITROEN
Puissance Etc ....
C5
Etc ... 300 Tunis 149
Mécanique
300 Km /h
Diesel
8 CV, ...
26
 Le seul mode de communication entre objets est l'envoi de messages.

 Les messages : Un message est une requête. L'arrivée d'un message provoque l'exécution
d'une méthode d'un objet.

 Chaque message précise la méthode à appliquer avec éventuellement des paramètres

Message AFFICHE(vide) OBJET Carré  


ou

Message AFFICHE(plein)  OBJET Carré  

27
1. Définition de la Programmation orientée Objet (POO)
2. Objectifs de la POO
3. Concepts de base de la POO
4. Paradigmes de la POO: Encapsulation, abstraction, héritage et
polymorphisme

28
1. Abstraction

2. Encapsulation

3. Polymorphisme

4. Héritage

5. Composition, Agrégation

29
 L’abstraction est le processus qui consiste à représenter des objets qui appartiennent

au monde réel dans le monde du programme que l’on écrit. Il consiste essentiellement
à extraire des variables pertinentes, attachées aux objets que l’on souhaite manipuler,
et à les placer dans un modèle informatique convenable.

 Le processus d’abstraction consiste à identifier pour un ensemble d’éléments des

caractéristiques et des mécanismes communs à tous les éléments

 Description génériques pour l’ensemble des éléments: Se focaliser sur l’essentiel et

cacher les détails

30
 L’encapsulation est le faite qu’un objet renferme ses propres attributs et ses
méthodes: un objet est définie par ses attributs et ses méthodes.

 Elle consiste à rendre les membres d'un objet plus ou moins visibles pour les
autres objets.
 La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
non.
 La visibilité dépend de l'observateur : les membres de l'objet encapsulé peuvent être
visibles pour certains objets mais pas pour d'autres.
L'encapsulation a pour objectif d'améliorer la robustesse et l'évolutivité des
programmes.

31
Exemple public

 Message: Débiter (somme, compte, code confidentiel).

 Objet: compte bancaire.

 Méthode A: Débiter_carte_de_crédit

Visible depuis l'interface

 Méthode B: Algorithme de validation du code confidentiel.

Non visible par l'utilisateur mais appelée par la méthode A private

32
 L'héritage est un mécanisme destiné à exprimer les similitudes entre

classes.
 Il met en œuvre les principes de généralisation et de spécialisation

en partageant explicitement les attributs et méthodes communs au


moyen d'une hiérarchie de classes

33
 Une classe fille hérite de sa classe mère ses caractéristiques
(attributs et méthodes) mais elle se distingue par ses propres
caractéristiques.

Super Classe Dite aussi: Classe générale, Classe mère, Ancêtre, Classe de base

Sous Classe Dite aussi: Classe spécifique, Classe fille, Descendante, Classe dérivée

34
 Exemple:
Figures planes

Polygones
Non polygones

convexes non convexes


Lignes ou Courbes
courbes non fermées
fermées
réguliers Non réguliers

35
 On parle d’héritage simple lorsqu’une classe fille ne possède qu’une classe mère.

Voiture

Utilitaire

 On parle d’héritage multiple lorsqu’une classe fille possède plusieurs classes mères.

Etudiant Enseignant

Enseignant chercheur
36
 Le polymorphisme définit des exécutions différentes pour une méthode

commune à une hiérarchie d'objets.

 Un code qui n'utiliserait pas le polymorphisme pourrait utiliser une instruction à

choix multiple suivant la classe des objets rencontrés.

 OBJET
TRIANGLE

Message AFFICHE

 OBJET
CERCLE


37
 La composition consiste à réunir des objets pour en former un autre.

VOITURE

Composition

1 4 1 1

CARROSSERIE ROUES DIRECTION MOTE


U
R

 Dans le cas d'une composition, on s'attachera à préciser le cardinal de cette relation.

38
 C'est une relation particulière qui attribut à l'une des classes le rôle d'agrégat et à
l'autre classe le rôle d'agrégé. L'agrégation peut être assimilée à une appartenance
faible

- Une page peut contenir des images mais celles-ci peuvent appartenir à d'autres
pages.
- la destruction d'une page n'entraîne pas celle de l'image mais seulement la
suppression du lien.

39
Base de comparaison Agrégation Composition

En agrégation, il existe une


En composition, l’enfant ne
relation dans laquelle un
De base peut pas exister
enfant peut exister
indépendamment du parent.
indépendamment du parent.

Type de relation "a un" "partie de"

Type d'association Association faible Association forte

Représenté par un diamant Représenté par un diamant


Symbole de conception UML creux à côté de la classe plein à côté de la classe
d'assemblage. d'assemblage.

Si l'objet de classe
La suppression de propriétaire est supprimé,
Une fonction l'assemblage n'affecte pas cela peut affecter
ses pièces. considérablement l'objet de
classe contenant.

40
Merci pour votre attention !

Vous aimerez peut-être aussi