0% ont trouvé ce document utile (0 vote)
10 vues85 pages

Introduction à la Programmation Orientée Objet

POO en Java

Transféré par

martel.jonathan64
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)
10 vues85 pages

Introduction à la Programmation Orientée Objet

POO en Java

Transféré par

martel.jonathan64
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

PROGRAMMATION ORIENTÉE OBJET

CONCEPTS ET EXEMPLES

1
SOMMAIRE
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale


• Limites de la programmation procédurale
- Limites de la
- Limites de la programmation procédurale
• La problématique
programmation
- Limites de la programmation procédurale

procédurale
• Intérêts de la méthode objet


- La problématique

- La problématique Concepts objets


- Intérêts de la POO

- Intérêts de la POO
- Concepts objet
• Classes
- Concepts objet • Structure

- Classes

- Classes Encapsulation
- Classes abstraites

- Classes abstraites
- Interfaces
• Classes abstraites
- Interfaces • Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes
• Relations entre les classes
classes • Héritage
- SOLID

- SOLID • Polymorphisme
- Design Patterns

- Design Patterns • Composition


- TP

- TP
- Ressources
• Agrégation
- Ressources • Dépendance
• S.O.L.I.D

• Design Patterns

• TP

• Ressources
2
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

LIMITES DE LA PROGRAMMATION PROCÉDURALE


- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

3
EXEMPLE EN JAVA
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Problèmes :
programmation
- Limites de la programmation procédurale

procédurale
- La problématique
• Les produits sont représentés par des HashMap.
- La problématique
- Intérêts de la POO

- Intérêts de la POO
• La méthode afficher peut être appelée sur n’importe quelle HashMap (pas forcément
un produit).
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces
• Il n’y a pas de type produit.
- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

4
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

LA PROBLÉMATIQUE
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

5
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

S’ADAPTER AU CHANGEMENT
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

6
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

INTÉRÊT DE LA PROGRAMMATION ORIENTÉE OBJET


- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

7
INTÉRÊT DE LA PROGRAMMATION ORIENTÉE OBJET
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Eviter les redondances.
programmation

• Encapsuler.
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique

• Permettre la réutilisation.
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces
• Faciliter la maintenance.
- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

8
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

CONCEPTS OBJETS
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

9
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

LES CLASSES
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

10
LES CLASSES : STRUCTURE
- Sommaire
-
Limites

- Sommaire
de la
programmation

• Un nom
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
Représentation UML
• Des propriétés
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
• => public (+) Nom de la classe
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites
• => private (-) Propriétés privées (-)
- Classes abstraites
- Interfaces

- Interfaces
• => protected (#) Méthodes publiques (+)
• Des méthodes (+, -, ou #)
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes

• => constructeur
- SOLID

- SOLID
- Design Patterns

- Design Patterns
• => getters et setters (accesseurs et mutateurs)
- TP

- TP
- Ressources

- Ressources
• => autres méthodes

11
ENCAPSULATION
Exemple en PHP
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Les classes
programmation
- Limites de la programmation procédurale

procédurale
- La problématique
• Propriétés
- La problématique
- Intérêts de la POO

- Intérêts de la POO
• Méthodes
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

L’encapsulation consiste à ne rendre accessibles que certaines propriétés et/ou méthodes.

12
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

LES CLASSES ABSTRAITES


- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

13
LES CLASSES ABSTRAITES
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Ne peuvent pas être instanciées.
programmation

• Utilisées par des classes filles.


- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

14
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

LES INTERFACES
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

15
LES INTERFACES
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Pas d’instanciation.
programmation

• S’utilisent avec le mot-clé « implements »


- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique

• Contiennent la signature (mais pas l’implémentation) des méthodes qui


- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

devront obligatoirement être implémentées dans les classes les utilisant.


- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources
Signature de méthode
Implémentation de la méthode

16
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

LES RELATIONS ENTRE CLASSES


- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

17
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

L’HÉRITAGE
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

18
L’HÉRITAGE
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Relation de type « est un ».
programmation

• Si une classe A hérite d’une classe B, alors on peut dire que A est un B.
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

19
LE POLYMORPHISME
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Une instance d’une classe fille peut être considérée également comme
programmation
- Limites de la programmation procédurale

procédurale
- La problématique
une instance de la classe dont elle hérite.
- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

20
LE POLYMORPHISME
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Lié à l’héritage
programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
Héritage
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources
L’objet de type Voiture utilise les
propriétés de la classe dont elle hérite.

Un objet de type Voiture est aussi un objet


de type Vehicule.
21
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

L’ASSOCIATION
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

22
L’ASSOCIATION
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Association entre 2 classes.
programmation

• Cas général.
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique

• => Composition
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites
• => Agrégation
- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

23
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

LA COMPOSITION
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

24
LA COMPOSITION
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Un objet A est composé d’un objet B revient à dire que B est un attribut
programmation
- Limites de la programmation procédurale

procédurale
- La problématique
(propriété) de A.
- La problématique
• La destruction de A entraîne la destruction de B.
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

• Il s’agit d’une relation dite forte entre les 2 objets.


- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes Représentation
classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
Relation de contenance
- Ressources

- Ressources

Une voiture contient un moteur

25
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

L’AGRÉGATION
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

26
L’AGRÉGATION
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Un objet A utilise un objet B.
programmation

• La destruction de A n’entraîne pas la destruction de B.


- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique

• La relation entre les 2 objets est moins forte.


- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes
Relation d’utilisation Représentation
classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources
Une voiture utilise une remorque

27
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

DÉPENDANCE
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

28
LA DÉPENDANCE
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Un objet A dépend d’un objet B s’il existe dans une des méthodes de A une
programmation
- Limites de la programmation procédurale

procédurale
- La problématique
instanciation de B (dans le corps de la méthode ou en paramètre).
- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

29
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

S.O.L.I.D
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

30
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO

SINGLE RESPONSABILITY
- Concepts objet

- Concepts objet
- Classes

- Classes

PRINCIPLE (SRP)
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

31
SINGLE RESPONSABILITY PRINCIPLE (SRP)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Une classe, une responsabilité, un rôle.
programmation

• Ai-je plusieurs raisons de modifier une classe ?


- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique

• Exemple :
- Intérêts de la POO

- Intérêts de la POO Problème : cette classe fait des


actions qui ne lui incombent pas.
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

32
SINGLE RESPONSABILITY PRINCIPLE (SRP)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• On sort les méthodes save(), update() et delete() de la classe.
programmation

• On regroupe ces méthodes dans une classe ObjectManager.


- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

C’est ObjectManager qui se charge d’enregistrer le


produit
33
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

OPEN/CLOSED PRINCIPLE (OCP)


- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

34
OPEN/CLOSED PRINCIPLE (OCP)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Bertrand MEYER
programmation

• Robert MARTIN
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes

• « Une classe doit être ouverte à l’extension (héritage) et fermée à la modification. »


- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces

• Si on souhaite plusieurs comportements pour une classe, on pourra créer des


- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes

classes filles pour éviter de modifier la classe d’origine qui peut être déjà utilisée
- SOLID

- SOLID
- Design Patterns

- Design Patterns
par l’application.
- TP

- TP
- Ressources

- Ressources

• Utilisation de l’héritage.

35
OPEN/CLOSED PRINCIPLE (OCP)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Exemple
programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

36
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO

LISKOV SUBSTITUTION PRINCIPLE


- Concepts objet

- Concepts objet
- Classes

- Classes

(LSP)
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

37
LISKOV SUBSTITUTION PRINCIPLE (LSP)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Si une classe héritant d’une classe mère redéfinit (surcharge) une des
programmation
- Limites de la programmation procédurale

procédurale
- La problématique
méthodes de cette classe, alors cette méthode doit recevoir le même
- La problématique
- Intérêts de la POO

- Intérêts de la POO
nombre de paramètres – et du même type – et doit renvoyer un retour du
même type.
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
Typer les retours des méthodes
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

38
LISKOV SUBSTITUTION PRINCIPLE (LSP)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

Les 2 méthodes retournent le même type (float).


Ce principe est intégré à Java du fait de son typage fort.
39
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO

INTERFACE SEGREGATION
- Concepts objet

- Concepts objet
- Classes

- Classes

PRINCIPLE (ISP)
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

40
INTERFACE SEGREGATION PRINCIPLE (ISP)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Utiliser autant d’interfaces que de spécialisations.
programmation

• Ne pas mettre trop de méthodes dans une même interface.


- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique

• Une classe de doit pas implémenter une interface dont toutes les
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

méthodes ne la concernent pas : on créera une autre interface.


- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

41
INTERFACE SEGREGATION PRINCIPLE (ISP)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Exemple
programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources Cette méthode n’est


pas utile pour cette
classe

42
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO

DEPENDENCY INVERSION
- Concepts objet

- Concepts objet
- Classes

- Classes

PRINCIPLE (DIP)
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

43
DEPENDENCY INVERSION PRINCIPLE (DIP)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Dépendre d’interfaces (abstraction) plutôt que d’implémentations concrètes.
programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO Classe utilisant 2 services
- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

Cette classe dépend de 2 services et doit implémenter une méthode pour chaque service. 44
DEPENDENCY INVERSION PRINCIPLE (DIP)
• On va injecter une interface à la place des classes concrètes.
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

45
DEPENDENCY INVERSION PRINCIPLE (DIP)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites Cette classe ne dépend que d’une interface et ne doit implémenter
- Interfaces

- Interfaces
- Relations entre les classes
qu’une méthode pour utiliser un service implémentant cette interface.
- Relations entre les
- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

46
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

LES DESIGN PATTERNS


- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

47
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

SINGLETON
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

48
LE PATTERN SINGLETON
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Principe : ne créer qu’une seule instance d’une classe donnée.
programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources
[Link]
[Link]
[Link]
ob/master/Creational/Singleton/[Link]

49
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

OBSERVER
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

50
LE PATTERN OBSERVER
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Principe :
programmation
- Limites de la programmation procédurale

procédurale
- La problématique
• Un sujet observé contient une liste d’observateurs.
- La problématique
- Intérêts de la POO

- Intérêts de la POO
• Chaque observateur possède une propriété du type du sujet et s’enregistre.
• Le sujet observé appelle une méthode de tous ses observateurs lorsqu’il est mis à
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites jour ou modifié.


- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

51
LE PATTERN OBSERVER : PRINCIPE
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

Le sujet J’observe le chat


- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
Les observateurs
- La problématique

- La problématique J’observe le chat


- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes
1. Je connais ceux qui m’observent.
- Classes
- Classes abstraites
2. Je les avertirai lorsque je changerai. J’observe le chat
- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID
Changement
- SOLID
- Design Patterns

- Design Patterns
- TP

Notification aux observateurs


- TP
- Ressources

- Ressources

52
LE PATTERN OBSERVER (PHP) : LA CLASSE SUJET (OBSERVÉE)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

Inscription des observateurs


- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns
Actualisation d’un observateur lors de
- Design Patterns l’appel à la méthode setData du sujet
- TP

- TP
- Ressources

- Ressources

53
LE PATTERN OBSERVER (PHP) : LA CLASSE OBSERVATEUR
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
Inscription des observateurs
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

Actualisation d’un observateur lors de


- SOLID
- Design Patterns l’appel à la méthode setData du sujet
- Design Patterns
- TP

- TP
- Ressources

- Ressources

54
LE PATTERN OBSERVER (PHP)
- Sommaire

- Sommaire
-
Limites
de la
programmation
procédurale Les comportements sont définis par des interfaces
- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
Exercice :
- Classes

- Classes
• ré-écrire en Java
- Classes abstraites

- Classes abstraites
• Représenter en UML
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources Programme de test

55
LE PATTERN OBSERVER (JAVA)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

56
LE PATTERN OBSERVER GÉNÉRIQUE (JAVA)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

57
LE PATTERN OBSERVER GÉNÉRIQUE (JAVA)
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

58
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

ADAPTER
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

59
LE PATTERN ADAPTER
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Principe
programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

Classe souhaitant utiliser


- Concepts objet Classe de référence
- Classes

- Classes
Adapter la classe de référence
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

60
LE PATTERN ADAPTER
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Implémentation
programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

61
LE PATTERN ADAPTER
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Utilisation
programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

62
LE PATTERN ADAPTER
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

63
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

STRATEGY
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

64
LE PATTERN STRATEGY
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Regrouper les comportements communs dans des interfaces.
programmation

• Les comportements sont des propriétés des classes qui les utilisent.
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

65
LE PATTERN STRATEGY
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Implémentation (Java)
programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

Les personnages
66
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

FACTORY
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

67
LE PATTERN FACTORY
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

• [Link]
[Link]
[Link] 68
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

DECORATOR
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

69
LE PATTERN DECORATEUR
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• [Link]
programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

70
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

PLUS DE DESIGN PATTERNS


- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

71
ENCORE DES DESIGN PATTERNS
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• [Link]
programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

72
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

TP
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

73
TP
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• Soit le code :
programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

74
TP
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la • On souhaite transformer ce code en respectant les principes de POO.


- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
• Appliquez les principes SOLID pour optimiser la gestion des formulaires de contact.
- La problématique

- La problématique
- Intérêts de la POO
• On créera une classe Contact avec les propriétés email, objet, message
- Intérêts de la POO
- Concepts objet

- Concepts objet
• On créera une classe ContactFormatter qui aura une propriété contact de type Contact
- Classes

- Classes
- Classes abstraites
• On souhaite formatter au format HTML ainsi qu’au format JSON .
- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes • Votre code doit être maintenable.
- Relations entre les
- Relations entre les classes

classes
- SOLID
• Représenter votre application à l’aide de diagrammes de classes UML.
- SOLID
• Créez un nouveau genre de formulaire : formulaire d’inscription (pseudo, email, mot de passe).
- Design Patterns

- Design Patterns
- TP

- TP
• Utilisez votre structure de code pour formatter ce nouveau formulaire.
- Ressources

- Ressources

75
TP : EXEMPLE DE SOLUTION
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

76
TP : EXEMPLE DE SOLUTION
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

77
TP : EXEMPLE DE SOLUTION
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

78
TP : EXEMPLE DE SOLUTION
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

79
TP : EXEMPLE DE SOLUTION
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

80
TP : EXEMPLE DE SOLUTION PATTERN STRATEGY
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

81
TP : EXEMPLE DE SOLUTION PATTERN STRATEGY
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

82
TP : EXEMPLE DE SOLUTION PATTERN STRATEGY
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

83
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale

programmation
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

RESSOURCES
- Classes

- Classes
- Classes abstraites

- Classes abstraites
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

84
RESSOURCES
- Sommaire
-
Limites

- Sommaire
de la
programmation
procédurale

- Limites de la programmation procédurale

- Limites de la
- Limites de la programmation procédurale
• VisualParadigm
programmation

• Grafikart
- Limites de la programmation procédurale

procédurale
- La problématique

- La problématique

• [Link]
- Intérêts de la POO

- Intérêts de la POO
- Concepts objet

- Concepts objet

oriente-objet-en-php
- Classes

- Classes
- Classes abstraites

- Classes abstraites

• [Link]
- Interfaces

- Interfaces
- Relations entre les classes

- Relations entre les


- Relations entre les classes

classes
- SOLID

- SOLID
- Design Patterns

- Design Patterns
- TP

- TP
- Ressources

- Ressources

85

Vous aimerez peut-être aussi