Programmation orientée objet - Définition et Explications

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

La programmation orientée objet (POO), ou programmation par objet, a été élaborée par Alan Kay dans les années 1970. C'est un paradigme de programmation informatique qui consiste en la définition et l'interaction (Une interaction est un échange d'information, d'affects ou d'énergie entre deux agents au sein...) de briques logicielles appelées objets ; un objet (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans...) représente un concept, une idée ou toute entité du monde (Le mot monde peut désigner :) physique (La physique (du grec φυσις, la nature) est étymologiquement la...), comme une voiture, une personne ou encore une page d'un livre. Il possède une structure interne (En France, ce nom désigne un médecin, un pharmacien ou un chirurgien-dentiste, à la...) et un comportement, et il sait communiquer avec ses pairs. Il s'agit donc de représenter ces objets et leurs relations ; la communication (La communication concerne aussi bien l'homme (communication intra-psychique, interpersonnelle,...) entre les objets via leur relation permet de réaliser les fonctionnalités attendues, de résoudre le ou les problèmes.

Orthogonalement à la programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent...) par objet, afin de faciliter le processus d'élaboration d'un programme, existent des méthodologies de développement logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements...) objet dont la plus connue est USDP (Unified Software Development Process).

Il est possible de concevoir par objet une application informatique (L´informatique - contraction d´information et automatique - est le domaine...) sans pour autant utiliser des outils dédiés. Il n'en demeure pas moins que ces derniers facilitent de beaucoup la conception, la maintenance, et la productivité. On en distingue plusieurs sortes :

  • les langages de programmation (Java, C#, vala, Objective C (Le C++ est un langage de programmation permettant la programmation sous de multiples paradigmes...), Eiffel, Python, Ruby (Ruby est un langage de programmation libre. Il est interprété, orienté objet, et...), C++, Ada, PHP (PHP (sigle de PHP: Hypertext Preprocessor), est un langage de scripts libre principalement...), Smalltalk (Smalltalk est un langage de programmation orienté objet, réflexif et dynamiquement...)...)
  • les outils de modélisation qui permettent de concevoir sous forme de schémas semi-formels la structure d'un programme (Objecteering, UMLDraw, Rhapsody, DBDesigner…)
  • les bus distribués (DCOM, CORBA, RMI, Pyro...)
  • les ateliers de génie logiciels ou AGL (WinDev et son langage le WLangage)

Il existe actuellement deux catégories de langages à objets : les langages à classes et ceux à prototypes, que ceux-ci soient sous forme fonctionnelle (En mathématiques, le terme fonctionnelle se réfère à certaines fonctions....) (CLOS), impérative (C++, Java…) ou les deux (Python, OCaml…).

Origines

Le langage Simula-67, en implantant les Record Class (CLASS (CLS) est un célèbre groupe de l'underground informatique. CLASS a cessé son...) de Hoare, pose les constructions qui seront celles des langages orienté objet à classes : classe, polymorphisme, héritage, etc. Mais c'est réellement par et avec Smalltalk 71 puis Smalltalk 80 (Dan Ingalls), inspiré en grande partie de Simula 67 et de Lisp (Lisp est la plus ancienne famille de langages impératifs et fonctionnels. Développé...), que les principes de la programmation par objets, résultat des travaux d'Alan Kay (Alan Kay est un informaticien américain. Il rejoint les laboratoires PARC de Xerox en 1970, où il...), sont véhiculés : objet, encapsulation (L'encapsulation en général est la notion de mettre une chose dans une autre. En imageant, on peut...), messages, typage et polymorphisme (via la sous-classification) ; les autres principes, comme l'héritage, sont soit dérivés de ceux-ci ou une implantation (Le mot implantation peut avoir plusieurs significations :). Dans Smalltalk, tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou...) est objet, même les classes. Il est aussi plus qu'un langage à objets, c'est un environnement graphique (Un environnement graphique est, en informatique, ce qui est affiché en mode pixel au moniteur...) interactif complet.

À partir des années 1980, commence l'effervescence des langages à objets : Objective C (début des années 1980), C++ (C with classes) en 1983, Eiffel en 1984, Common Lisp (Common Lisp est un langage fonctionnel impur de la famille Lisp.) Object System dans les années 1980, etc. Les années 1990 voient l'âge d'or de l'extension de la programmation par objet dans les différents secteurs du développement logiciel.

Depuis, la programmation par objet n'a cessé d'évoluer aussi bien dans son aspect théorique que pratique et différents métiers et discours mercatiques à son sujet ont vu le jour :

  • l’analyse objet (AOO ou OOA en anglais),
  • la conception objet (COO ou OOD en anglais),
  • les bases de données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent...) objet (SGBDOO),
  • les langages objets avec les langages à prototypes,
  • ou encore la méthodologie avec MDA (Model Driven Architecture).

Aujourd’hui, la programmation par objet est vue (La vue est le sens qui permet d'observer et d'analyser l'environnement par la réception et...) davantage comme un paradigme, le paradigme objet, que comme une simple technique de programmation. C'est pourquoi, lorsque l'on parle de nos jours (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la...) de programmation par objets, on désigne avant tout la partie codage (De façon générale un codage permet de passer d'une représentation des...) d’un modèle à objets obtenu par AOO et COO.

Page générée en 0.022 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique