Cours Concept Orienté Objet (design by : Joseph Armand, Master en Ingénierie de

Cours Concept Orienté Objet (design by : Joseph Armand, Master en Ingénierie de projet & Informaticien). 1 Termes clés Processus logiciel : Un processus logiciel est un ensemble d’activités et de résultats connexes. Lorsque ces activités sont effectuées dans un ordre spécifique, conformément aux contraintes, les résultats souhaités sont produits. Processus de développement logiciel : Un processus de développement logiciel est souvent décrit comme un ensemble d’activités nécessaires pour transformer les besoins d’un utilisateur en un système logiciel. Approche structurée de développement logiciel : L’approche structurée permet d’analyser le problème, puis de concevoir un ensemble de fonctions qui peuvent effectuer les tâches requises. Si ces fonctions sont trop importantes, alors elles sont décomposées jusqu’à ce qu’elles soient assez petites à manipuler et à comprendre. Approche Orienté objet de développement logiciel : La stratégie dans le développement de logiciel orienté objet est de voir le monde comme un ensemble d’objets. Ces objets interagissent et collaborent les uns avec les autres pour fournir un comportement de niveau supérieur. Classe : Une classe n’est rien d’autre que la description d’un ensemble d’objets ayant une structure commune et disposant des mêmes méthodes. Objet : Toute entité identifiable, concrète ou abstraite, peut être considérée comme un objet. Un objet réagit à certains messages qu’on lui envoie. Un objet est une instance d’une classe. L’encapsulation : c’est une technique permettant de réunir des variables et des fonctions au sein d›une même entité nommée classe. L’héritage : cette technique permet de définir une hiérarchie de classe. Chaque classe fille hérite des méthodes et des données de ses «pères». Le polymorphisme : Par ce principe, deux objets, héritant une même méthode d’une classe parente, peuvent réagir de façon différente à l›appel de cette méthode. Principes de l’orienté-objet Principe 1 - Abstraction Cours Concept Orienté Objet (design by : Joseph Armand, Master en Ingénierie de projet & Informaticien). 2 L’abstraction est un modèle qui prend en compte les aspects les plus importants d’un système donné, tout en ignorant les détails les moins importants. L’abstraction implique un savoir-faire qui consiste à prendre en compte l’essentiel et à ignorer ce qui ne l’est pas. L’orienté objet est une bonne abstraction du monde réel ; cela signifie que si le problème change (à savoir les exigences changent, comme c’est presque toujours le cas), la solution devrait être plus facile à modifier. Ojo and Estevez, (2005) indique que l’abstraction est le processus permettant de se concentrer sur les aspects les plus importants, tout en ignorant les détails moins importants. Elle permet la gestion de la complexité, en se concentrant sur les caractéristiques essentielles qui font qu’une entité diffère des autres. Principe 2 – l’encapsulation L’encapsulation, autorise uniquement l’instance qui possède un membre données à le modifier ou à y accéder. L’objet chaise (et tous les objets en général) encapsule les données (les valeurs d›attributs qui définissent la chaise), les opérations (les actions qui sont chargées de modifier les attributs de la chaise), d’autres objets (des objets composites peuvent être définis), les constantes (valeurs fixes), et d’autres renseignements connexes. L’encapsulation signifie que l’ensemble de ces informations est empaqueté sous un nom et peut être réutilisé comme une spécification ou un composant d’un programme. En d›autres termes, l›encapsulation cache l’implémentation aux utilisateurs et aux clients (Ojo and Estevez, 2005). Les Clients dépendent des interfaces. Les exigences de l’encapsulation impliquent:  D’exposer le but d’un objet  D’exposer les interfaces d’un objet  De masquer l’implémentation qui définit le fonctionnement de l’objet en rendant accessible seulement les interfaces  De masquer les données appartenant à un objet qui définissent sa structure et son comportement Cours Concept Orienté Objet (design by : Joseph Armand, Master en Ingénierie de projet & Informaticien). 3  De masquer les données appartenant à un objet et qui permettent de suivre l’état de l’objet. Les avantages de l’encapsulation sont:  Faciliter la séparation d’une interface de son implémentation, de sorte qu’une seule interface puisse avoir plusieurs implémentations.  Faire en sorte que les données contenues dans un objet ne puissent pas être altérées par d’autres objets. Principe 3 - Modularité La modularité porte sur le processus de décomposition des systèmes complexes en de petits morceaux, plus autonomes qui peuvent être gérés facilement. La modularité peut être effectuée en:  Décomposant le problème en de plus petits sous-problèmes.  Essayant de résoudre chaque sous-problème séparément. Chaque solution est un composant séparé qui comprend :  Une Interface: types et opérations accessibles de l’extérieur ;  Une Spécification: fonctionnement et propriété bien définis de l’interface ;  Une implémentation: structures de données et fonctions cachées de l’extérieur ; Principe 4 - Hiérarchie La hiérarchie est un arrangement des classes dans une structure arborescente. Dans cette hiérarchie, un système complexe est composé de sous-systèmes interdépendants qui ont à leur tour leurs propres sous-systèmes, et ainsi de suite, jusqu’à ce que le plus bas niveau de composants élémentaires soit atteint. Figure 1.4 montre un exemple du principe de la hiérarchie dans la programmation orienté objet. Cours Concept Orienté Objet (design by : Joseph Armand, Master en Ingénierie de projet & Informaticien). 4 Figure 1.4: Exemple de la Hiérarchie Conclusion Cette unité a mis l’accent sur les principes fondamentaux de la programmation orientée-objet. Ces principes concernent l’abstraction, l’encapsulation, la modularité et la hiérarchie. Evaluation 1. Quelle est la différence entre un objet et une classe ? 2. Lequel des modèles suivants A et B est plus abstrait? Justifier votre réponse. 3. Fournir un exemple d’encapsulation: 4. Identifier l’interface 5. Identifier l’implémentation 6. Décrivez la structure de votre organisation en utilisant le principe de la hiérarchie. 7. Inclure au moins trois niveaux. Cours Concept Orienté Objet (design by : Joseph Armand, Master en Ingénierie de projet & Informaticien). 5 8. Quels sont les quatre principes de base de la programmation orienté objet? Fournir une brève description de chaque principe. Concepts de la POO Présentation Cette unité décrira les concepts de l’orientée objet. Nous aborderons les termes comme : les objets, les classes, l’héritage et le polymorphisme. Nous mettrons l’accent sur les composantes d’une classe, comment créer une hiérarchie de classe, comment créer des classes mères et des classes filles et comment donner plusieurs rôles à une même méthode. Concept OO 1 –Les Objets Toute discussion portant sur l’ingénierie logicielle orientée objet doit commencer en abordant l’expression « orienté objet ». Qu’est-ce qu’un point de vue orienté objet? Dans quels cas une méthode est considérée comme orienté objet? Qu’est-ce qu’un objet? Tel que défini par Ojo et Estevez(2005), l’orientation objet porte sur la visualisation et la modélisation du monde / système comme un ensemble d’objets liés et interagissant entre eux. Les caractéristiques de l’approche OO sont: L’univers est composé d’objets qui interagissent. Décrire et concevoir des systèmes contenant des objets. Les objets sont les entités d’exécution de base dans un système orienté objet. Ils peuvent représenter une personne, un lieu, un compte, une base de données ou un objet que le programme doit gérer. Ils peuvent également représenter des données définies par l’utilisateur telles que les vecteurs, le temps et les listes. Un problème de programmation est analysé en termes d’objets et cette analyse prend en compte la nature de la communication entre ces objets. Les objets dans un programme doivent être choisis de telle sorte qu’ils correspondent étroitement avec les objets du monde réel. Lorsqu’un programme est exécuté, les objets interagissent en envoyant des messages les uns aux autres. Par exemple, si «étudiant» et «enseignant» sont deux objets dans un programme, alors l’objet «étudiant» peut envoyer un message à l’objet « enseignant » pour demander ses notes à un contrôle. Chaque objet contient des données et des instructions (code) pour manipuler Cours Concept Orienté Objet (design by : Joseph Armand, Master en Ingénierie de projet & Informaticien). 6 les données. Les objets peuvent interagir sans connaitre les détails des données ou du code de l’autre. Prenons un exemple d’un objet du monde réel. Chaise est un membre (le terme instance est également utilisé) d’une plus grande classe d’objets que nous appelons mobilier. Un ensemble d›attributs génériques peuvent être associés à chaque objet dans la classe mobilier (Par exemple, tout mobilier a un coût, les dimensions, le poids, l›emplacement et la couleur, parmi beaucoup d’attributs possibles). Ceci s’applique quand nous parlions d’une table, d’une chaise ou d’un canapé. Etant donné que chaise est un membre/instance de mobilier, chaise hérite tous les attributs définis pour la classe comme le montre la figure 1.8. Une fois que la classe a été définie, les attributs peuvent être réutilisés lorsque de nouvelles instances (objets) de la classe sont créées. Figure : Les objets chaise et table sont des mobiliers Dans le monde réel les objets peuvent être caractérisés par deux choses: leur état et les traitements qu’ils peuvent subir. Chaque objet du monde réel possède des données et des comportements. Les données pour un objet sont généralement appelés les attributs de l›objet. Les différents comportements d›un objet sont appelées les méthodes (ou traitements) de l›objet. L’état d’un objet est l’ensemble des informations contenues/stockées uploads/s1/ cours-concept-oo-limonade.pdf

  • 79
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mar 05, 2021
  • Catégorie Administration
  • Langue French
  • Taille du fichier 0.6654MB