Encapsulation (programmation)

Encapsulation (programmation)
Page d'aide sur l'homonymie Pour les articles homonymes, voir Encapsulation.

En programmation orientée objet, l’encapsulation est l'idée de protéger l'information contenue dans un objet et de ne proposer que des méthodes de manipulation de cet objet. Ainsi, les propriétés et axiomes associés aux informations contenues dans l'objet seront assurés/validés par les méthodes de l'objet et ne seront plus de la responsabilité de l'utilisateur extérieur. L'utilisateur extérieur ne pourra pas modifier directement l'information et risquer de mettre en péril les axiomes et les propriétés comportementales de l'objet.

L'objet est ainsi vu de l'extérieur comme une boîte noire ayant certaines propriétés et ayant un comportement spécifié. La manière dont ces propriétés ont été paramétrées est alors cachée aux utilisateurs de la classe. On peut modifier ce paramétrage sans changer le comportement extérieur de l'objet. Cela permet donc de séparer la spécification du comportement d'un objet, du paramétrage pratique de ces spécifications.

En principe, l'encapsulation permet à l'instance d'une classe d'accéder aux attributs d'une super-classe. Par contre deux instances d'une même classe ne peuvent accéder à leurs états.

L'encapsulation dans les langages

Les principes de l'encapsulation sont appliqués de manières très diverses suivant les langages. Mais on peut quand même trouver deux courants principaux.

Premièrement une application relativement stricte des principes dans les langages objet purs (pour autant que ce terme ait un sens) comme dans SmallTalk ou Eiffel. Dans ce cadre les attributs ne sont souvent disponibles qu'en lecture en général dans le programme et en écriture aussi depuis l'intérieur de la classe d'objet. On trouve ensuite différents moyens pour adapter ce cadre à des classes amies ou à des catégories et des hiérarchies d'objets.


Deuxièmement les langages tels que C++, Java, Ruby ou Python et plus généralement tous les langages influencés par la syntaxe du C++ qui a proposé trois niveaux de visibilité :

  • public : les attributs dits publics sont accessibles à tous,
  • protégé : les attributs dits protégés sont accessibles seulement aux classes dérivées,
  • privé : les attributs privés sont accessibles seulement par l'objet lui-même.

Ce type d'encapsulation propose en fait une autre approche de l'encapsulation qui ne fait pas la distinction entre la lecture et l'écriture d'un attribut. Dans ce cadre on utilise en plus des méthodes d'accès et de modifications définies dans une des trois catégories suivant l'effet que l'on souhaite obtenir. Souvent ces deux types de méthodes sont définies en plus de l'attribut qui contient réellement la donnée.

De plus, dans ces langages, l'instance d'une classe a un accès complet à l'état d'une autre instance de la même classe. Des contraintes peuvent limiter l'accès des instances d'une classe aux attributs d'une super-classe. Enfin, des moyens autorisent certaines instances et fonctions à avoir un accès public total à d'autres instances même si elles ne sont pas de la même classe, comme c'est le cas avec les instances friend sous C++.


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Encapsulation (programmation) de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Encapsulation (Programmation) — Pour les articles homonymes, voir Encapsulation. En programmation orientée objet, l’encapsulation est l idée de protéger l information contenue dans un objet et de ne proposer que des méthodes de manipulation de cet objet. Ainsi, les propriétés… …   Wikipédia en Français

  • Encapsulation (informatique) — Encapsulation (programmation) Pour les articles homonymes, voir Encapsulation. En programmation orientée objet, l’encapsulation est l idée de protéger l information contenue dans un objet et de ne proposer que des méthodes de manipulation de cet… …   Wikipédia en Français

  • Programmation objet — Programmation orientée objet La programmation orientée objet (POO) ou programmation par objet, est un paradigme de programmation informatique qui consiste en la définition et l assemblage de briques logicielles appelées objets ; un objet… …   Wikipédia en Français

  • Programmation orientee objet — Programmation orientée objet La programmation orientée objet (POO) ou programmation par objet, est un paradigme de programmation informatique qui consiste en la définition et l assemblage de briques logicielles appelées objets ; un objet… …   Wikipédia en Français

  • Programmation à objets — Programmation orientée objet La programmation orientée objet (POO) ou programmation par objet, est un paradigme de programmation informatique qui consiste en la définition et l assemblage de briques logicielles appelées objets ; un objet… …   Wikipédia en Français

  • Encapsulation Des Données — L encapsulation des données est une règle de microarchitecture (architecture détaillée) consistant à cacher les données d’une classe ou d’un module aux autres classes ou modules, c est à dire, empêcher l accès aux données par un autre moyen que… …   Wikipédia en Français

  • Encapsulation des donnees — Encapsulation des données L encapsulation des données est une règle de microarchitecture (architecture détaillée) consistant à cacher les données d’une classe ou d’un module aux autres classes ou modules, c est à dire, empêcher l accès aux… …   Wikipédia en Français

  • Encapsulation des données — L encapsulation des données est une règle de microarchitecture (architecture détaillée) consistant à cacher les données d’une classe ou d’un module aux autres classes ou modules, c est à dire, empêcher l accès aux données par un autre moyen que… …   Wikipédia en Français

  • Programmation orientée objet — La programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation informatique élaboré par Alan Kay dans les années 1970. Il consiste en la définition et l interaction de briques logicielles appelées… …   Wikipédia en Français

  • Encapsulation — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sur les autres projets Wikimedia : « Encapsulation », sur le Wiktionnaire (dictionnaire universel) L encapsulation en général est la notion …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”