Programmation en C++ Introduction à la POO et à la représentation de classes en UML

Extrait du cours C++ représentation de classes en UML

…….
3. Introduction à la POO et à la représentation de classes en UML
On va tenter de décrire brièvement ce qui distingue la POO (Programmation Orientée Objet) de la programmation procédurale (C, Pascal).
Les langages procéduraux s’appuient sur les capacités de la machine en terme de découpage en instructions
élémentaires et sous-programmes (fonctions) (utilisation de CALL/RET pour les processeurs Intel). La programmation en langage procédural reste donc très liée aux caractéristiques des processeurs. Dans ce contexte, pour réaliser un logiciel, on fait une analyse fonctionnelle descendante pour mettre en évidence les fonctions principales et les structures de données manipulées par ces fonctions. On découpe le problème initial en sous-problèmes, autant de fois qu’il nous paraît nécessaire, jusqu’à pouvoir résoudre les sous problèmes par des fonctions de «taille raisonnable».
En pratique, cette approche présente de gros désavantages
dans les projets informatiques. D’une part les fonctions écrites spécialement pour un projet sont rarement utilisables dans un autre projet. D’autre part, une modification des structures de données
entraîne de multiples points de correction du logiciel. Les logiciels conçus avec cette approche évoluent difficilement et leur maintenance n’est pas aisée.
Les classes d’objets
La Programmation Orientée Objet (POO) cherche à s’adapter de manière plus naturelle à notre perception de la “réalité”. Dans notre quotidien, nous réalisons naturellement une classification de ce qui nous entoure. Nous mettons chaque élément de notre entourage dans une classe d’éléments qui ont des caractéristiques communes fortes. Un élément d’une classe sera appelé de manière générique objet (même s’il s’agit d’un être vivant) par la suite. Les êtres vivants, les végétaux, les minéraux, les véhicules, les téléphones, les ordinateurs, les étudiants, les systèmes électroniques, les meubles sont autant d’exemples de classes d’objets (on rappelle qu’objet prend ici un sens large). Une classe décrit donc un ensemble d’objets.
Les classes ne sont pas nécessairement disjointes. Par exemple, la classe des êtres humains est une sous-classe des êtres vivants, les hommes/les femmes sont deux sous-classes des êtres humains, les animaux une sous-classe des êtres vivants, les chiens une sous-classe des animaux etc.
Attributs, comportement, état
Dans chacune des classes, les objets sont caractérisés par des attributs et des comportements. La valeur des attributs à un instant donné caractérise l’état d’un objet. Le comportement d’un objet peut avoir des conséquences sur son état et inversement, l’état d’un objet peut contraindre ses comportements possibles (à un instant donné).
Objet de la classe des téléviseurs attributs : taille d’écran, marque, état allumé/éteint, chaîne sélectionnée, volume sonore …
comportement : allumer, éteindre, changer de chaîne, régler le volume sonore, …
Objet de la classe des voitures
attributs : marque, modèle, énergie (essence/diesel), puissance, nombre de portes …
comportement : mettre moteur en marche, l’arrêter, changer de vitesse, …
Dans la notation UML (Unified Modeling Language), les classes sont représentées par des rectangles indiquant quels sont les attributs, leur visibilité (- privé et + public), quelles sont les méthodes accessibles.
……..

Lire aussi  Cours Tutorial Haskell pour le développeur C

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Programmation en C++ Introduction à la POO et à la représentation de classes en UML (232 KO) (Cours PDF)
représentation de classes en UML

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *