Encapsulation (informatique)

Encapsulation (informatique)

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é implémentées est alors cachée aux utilisateurs de la classe. On peut changer cette implémentation sans changer le comportement extérieur de l'objet. Cela permet donc de séparer la spécification du comportement d'un objet, de l'implémentation 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++.

  • Portail de la programmation informatique Portail de la programmation informatique
Ce document provient de « Encapsulation (programmation) ».

Wikimedia Foundation. 2010.

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

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • encapsulation — ● n. f. ►OROBJ On trouve aussi encapsulage , mais c est plus rare. Le fait d interdire l accès à la structure interne d un objet logiciel, de le mettre dans une capsule . Voir encapsuler. Ce terme n est pas exclusivement réservé à la… …   Dictionnaire d'informatique francophone

  • 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 (Réseau) — Pour les articles homonymes, voir Encapsulation. L encapsulation, en informatique et spécifiquement pour les réseaux informatiques, est un procédé consistant à inclure les données de la couche d un protocole donné vers la couche d un protocole de …   Wikipédia en Français

  • Encapsulation (reseau) — Encapsulation (réseau) Pour les articles homonymes, voir Encapsulation. L encapsulation, en informatique et spécifiquement pour les réseaux informatiques, est un procédé consistant à inclure les données de la couche d un protocole donné vers la… …   Wikipédia en Français

  • 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 (réseau) — Pour les articles homonymes, voir Encapsulation. L encapsulation, en informatique et spécifiquement pour les réseaux informatiques, est un procédé consistant à inclure les données d un protocole dans un autre protocole. Par exemple, l Internet… …   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 — 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

  • Classe (Informatique) — Pour les articles homonymes, voir Classe. En programmation orientée objet, une classe déclare des propriétés communes à un ensemble d objets. La classe déclare des attributs représentant l état des objets et des méthodes représentant leur… …   Wikipédia en Français

  • Classe (informatique) — Pour les articles homonymes, voir Classe. En programmation orientée objet, une classe déclare des propriétés communes à un ensemble d objets. La classe déclare des attributs représentant l état des objets et des méthodes représentant leur… …   Wikipédia en Français

Share the article and excerpts

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