Extrait du cours conception et programmation par objets
En programmation procédurale (Algol, …)
Un programme = suite d’instructions exécutées par une machine.
Son exécution = ces instructions agissent sur des données.
Les fonctions et procédures travaillent « à distance » sur les données.
Accent mis sur les actions. Il s’agit de répondre à la question: Que veut on faire ?
dissociation entre données et fonctions = > problème lorsqu’on change les structures de données.
En programmation procédurale (suite)
Les procédures s’appellent entre elles et peuvent modifier les mêmes données =>
problème lorsqu’on veut modifier une procédure: comment avait elle été appelée ?
Finalement conception plat de spaghettis dans les appels de procédures. Il serait bien de « responsabiliser » nos parties de programmes D’où une autre vision de la programmation
Programmation par objets
Un programme = une société d’entités Son exécution : les entités collaborent pour résoudre le problème final en s’envoyant des messages.
une entité = un objet qui prend en compte sa propre gestion (objet responsable)
Les objets
La question est: De quoi parle t – on ?
Quelles sont les entités qui interviennent dans mon problème ?
exemple :
modéliser un logiciel de trafic routier les entités sont :
– les feux tricolores
– les carrefours
– les véhicules
– les agents de la circulation.
Lorsqu’un feu tricolore passe au vert il envoie cette connaissance (= ce message) à l’agent posté à ce carrefour. L’agent prend une décision et en informe (envoi de messages) les chauffeurs des véhicules.
Encapsulation
Deux sens dans le monde des objets:
Encapsulation=regroupement de code et de données masquage d’information au monde extérieur (data hiding)
Avantages meilleure modularité l’unité de modularité est l’objet. Les communications entre modules sont traitées par les opérations d’interface.
meilleure sécurité
a) le code ne peut s’appliquer que sur des types de données bien précis et pas sur d’autres données.
b) certaines parties de l’objet sont inaccessibles pour certains (et n’ont d’ailleurs pas être connues) meilleure conception dès le début
données et opérations sont spécifiées en même temps.
meilleure lisibilité données et déclarations des opérations sont écrites au même endroit.
…….
Cours conception et programmation par objets (248 KO) (Cours PDF)