Introduction
- Historique des langages de programmation
- Les différents paradigmes de programmation
- La programmation procédurale
- La programmation orientée objet Comparatifs entre les langages objets Java,
C# (.NET) et C++
Limitations à la programmation procédurale
- Limitations à la programmation procédurale
- Gestion de la modularité
- L’intégrité des données manipulées
- La réutilisation de code
- Risques relatifs à la duplication des codes et aux codes morts
Qu’est-ce que la programmation orientée objet ?
- Quelques points de terminologie : classe, objet, attribut, …
- Nécessité de visualisation de la structure des code
- Le formalisme UML et la notion de diagramme de classe
- La notion de classes : une autre manière de voir la modularité
- Le principe d’encapsulation et pourquoi protéger les données
- Le concept d’héritage
Mise en œuvre de l’encapsulation
- Les niveaux de visibilités public et private
- La protection des membres
- Définition de propriétés (getter/setter)
- Définition de constructeurs
- Définition de méthodes de traitement
- Formalisme UML associé à l’encapsulation
Mise en association d’objets
- Association, composition et agrégation
- Formalisme UML associé aux mises en association
- Gestions des collections d’objets
Mise en œuvre de l’héritage
- Concept de polymorphisme
- Formalisme UML associé à l’héritage
- La notion de méthodes abstraites, de classes abstraites et d’interfaces
Utilisation de design patterns dans la conception d’une application
- Un design pattern, une solution éprouvée pour répondre à une problématique
récurrente en programmation informatique
- Classification des principaux design patterns (patternsstephane GoF)
- Design patterns et UML