2017-08-28 17:36:36 +02:00
|
|
|
Avant propos
|
|
|
|
============
|
|
|
|
|
2017-09-04 14:54:33 +02:00
|
|
|
|
2017-10-02 09:10:51 +02:00
|
|
|
| "The anthropomorphic analogy is misleading. A computer program is a formal
|
|
|
|
| system, not a collection of living beings. Forget that at your peril."
|
|
|
|
| Loup Vaillant
|
2017-09-04 14:54:33 +02:00
|
|
|
|
2017-08-28 17:36:36 +02:00
|
|
|
Introduction
|
|
|
|
~~~~~~~~~~~~
|
|
|
|
|
2017-09-04 14:54:33 +02:00
|
|
|
|
2017-10-02 09:10:51 +02:00
|
|
|
.. glossary::
|
|
|
|
|
|
|
|
POO
|
2017-09-04 17:33:56 +02:00
|
|
|
|
2017-10-02 09:10:51 +02:00
|
|
|
La programmation orientée objet (POO), ou programmation par objet, est un
|
|
|
|
paradigme de programmation informatique élaboré par les Norvégiens Ole-Johan
|
|
|
|
Dahl et Kristen Nygaard au début des années 1960 et poursuivi par les travaux
|
|
|
|
de l'Américain Alan Kay dans les années 1970. Il consiste en la définition et
|
|
|
|
l'interaction de briques logicielles appelées objets ; un objet représente un
|
|
|
|
concept, une idée ou toute entité du monde physique, comme une voiture, une
|
|
|
|
personne ou encore une page d'un livre. Il possède une structure interne et un
|
|
|
|
comportement, et il sait interagir avec ses pairs. Il s'agit donc de
|
|
|
|
représenter ces objets et leurs relations ; l'interaction entre les objets via
|
|
|
|
leurs relations permet de concevoir et réaliser les fonctionnalités attendues,
|
|
|
|
de mieux résoudre le ou les problèmes. Dès lors, l'étape de modélisation revêt
|
|
|
|
une importance majeure et nécessaire pour la POO. C'est elle qui permet de
|
|
|
|
transcrire les éléments du réel sous forme virtuelle.
|
2017-09-04 14:54:33 +02:00
|
|
|
|
2017-10-02 09:10:51 +02:00
|
|
|
https://fr.wikipedia.org/wiki/Programmation_orient%C3%A9e_objet
|
2017-09-04 14:54:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
Objectifs de ce cours
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
Il s'agit de :
|
2017-08-28 17:36:36 +02:00
|
|
|
|
2017-10-02 09:10:51 +02:00
|
|
|
- maîtriser et concevoir des objets et des classes,
|
|
|
|
- utiliser un langage avec une conception objet appropriée
|
|
|
|
- savoir repérer le type de support objet que propose un langage
|
|
|
|
- implémenter des objets et des classes en python
|
2017-09-04 14:54:33 +02:00
|
|
|
- choisir une représentation appropriée des classes,
|
2017-10-02 09:10:51 +02:00
|
|
|
- décomposer en sous-problèmes et affinements successifs à l'aide de la
|
|
|
|
représentation objet ("design objet")
|
|
|
|
- devenir un honnête programmeur d'aujourd'hui, c'est-à-dire avoir une
|
|
|
|
réflexion approfondie sur la nature
|
|
|
|
des objets. Tous les programmeurs les utilisent, peu savent vraiment de quoi il en retourne,
|
|
|
|
et très peu nombreux sont ceux qui savent définir le paradigme et les mécanismes objets correctement.
|
2017-08-28 17:36:36 +02:00
|
|
|
|
2017-09-04 14:54:33 +02:00
|
|
|
.. FIXME
|