- Objet (informatique)
-
Pour les articles homonymes, voir Objet.
En informatique, un objet est un conteneur symbolique, qui possède sa propre existence et incorpore des informations et des mécanismes[1] en rapport avec une chose tangible du monde réel manipulée dans un programme[2],[3]. C'est le concept central de la programmation orientée objet.
En programmation orientée objet, un objet est créé à partir d'un modèle appelé classe ou prototype, duquel il hérite les comportements et les caractéristiques. Les comportements et les caractéristiques sont typiquement basées sur celles propres aux choses qui ont inspiré l'objet : une personne (avec son état civil), un dossier, un produit.
Sommaire
Histoire
La notion d'objet a été introduite avec le langage de programmation Simula, créé à Oslo entre 1962 et 1967 dans le but de faciliter la programmation de logiciels de simulation. Avec ce langage de programmation, les caractéristiques et les comportements des objets à simuler sont décrits dans le code source.
Le langage de programmation orienté objet Smalltalk a été créé par le centre de recherche Xerox en 1972.
La programmation orientée objet est devenue populaire en 1983 avec la sortie du langage de programmation C++, un langage orienté objet, dont l'utilisation ressemble volontairement au populaire langage C.
Les premières bases de données orientées objet ont été commercialisées en 1993, et leur technologie n'est pas arrivée à maturité avant la fin du XXe siècle[4].
Le langage de programmation orienté objet Java a été créé par Sun Microsystems en 1995, et était avant tout destiné à la programmation des applications web, dont la technologie était en pleine évolution durant les années 1990.
Terminologie
Une classe est une description des caractéristiques d'un ou de plusieurs objets. Chaque objet créé à partir de cette classe est une instance de la classe en question.
Un prototype est une description d'un objet, qui sera utilisé pour créer d'autres objets par clonage. voir programmation orientée prototype.
Une méthode est une suite d'instructions qui manipule les caractéristiques et l'état d'un objet. Une propriété est une caractéristique propre à un objet.
Les méthodes, les propriétés et l'état d'un objet sont manipulables à partir d'autres objet uniquement si ceux-ci sont explicitement déclarés comme publics. c'est le mécanisme d´encapsulation.
héritage et polymorphisme: Une classe B peut être basée sur une classe A, et peut être la base d'une classe C, selon une relation parent-enfant.
- Un objet créé à partir de la classe B aura toutes les caractéristiques (propriétés et méthodes) de la classe B ainsi que celles de la classe parent A, et un objet de la classe C aura toutes les caractéristiques de C, de B ainsi que celles de A. Ce mécanisme est appelé héritage.
- Une caractéristique (méthode ou propriété) de la classe B peut faire doublon avec une caractéristique de la classe A. Dans un objet de la classe B cette caractéristique remplacera celle de A obtenue par héritage. Ce mécanisme est appelé polymorphisme.
Utilisation
Parmi les diverses technologies qui gravitent autour des objets, il y a les langages de programmation orientés objet et les bases de données orientées objet. La notion d'objet est également utilisée dans la programmation de composants logiciels ainsi que la conception de logiciel.
Une base de données orientée objet permet le stockage permanent d'objets, à l'aide d'un système de gestion de base de données et un langage de programmation adaptés.
Le Object Management Group est un consortium international de normalisation et de soutien des technologies basées sur les objets.
Créée par le Object Management Group, CORBA est une norme relative à l'architecture de logiciels qui s'échangent des objets.
Créée par le consortium W3C, le Document Object Model est une norme relative à la manipulation des éléments d'une page web par un langage de programmation orienté objet comme par exemple Javascript.
La programmation orientée objet
Article détaillé : programmation orientée objet.La programmation orientée objet est un style d'écriture du code source, propres à certains langages de programmation. Dans ce style le code source est une suite de descriptions de classes ou de prototypes, avec la description de leurs caractéristiques (propriétés) et de leur comportements (méthodes). Smalltalk, Python, Java et C++ sont des langages de programmation orientés objet.
Voir aussi
Notes et références
- ISBN 9780170122986) Bhuvan Unhelkar, Practical Object Oriented Analysis, Thomson Learning Nelson - 2005, (
- ISBN 9780826454287) David Parsons,Object Oriented Programming with C++ , Cengage Learning EMEA - 2002, (
- ISBN 9780849331350) Saba Zamir,Handbook of object technology,CRC Press - 1999,(
- ISBN 9781558600003) Stanley Benjamin Zdonik et David Maier, Readings in object-oriented database systems, Morgan Kaufmann - 1990,(
Wikimedia Foundation. 2010.