Encapsulation Des Données

Encapsulation Des Données

Encapsulation des données

L'encapsulation des données est une règle de microarchitecture (architecture détaillée) consistant à cacher les données dune classe ou dun module aux autres classes ou modules, c'est-à-dire, empêcher l'accès aux données par un autre moyen que des méthodes (fonctions membres). Par conséquent, linterface dune classe ou dun module obéissant à ce principe nexpose jamais ces membres de données comme des variables, tableaux ou structures mais seulement des méthodes (fonctions membres).

Sommaire

Implémentation

Tous les langages de programmations orientés objets comme Java ou C++ offrent des limitateurs daccès (niveaux de visibilité) permettant dimplémenter aisément le principe dencapsulation des données. Les limitateurs traditionnels sont :

  • publique: les méthodes (fonctions membres) de toutes les autres classes ou modules peuvent accéder aux données possédant le niveau de visibilité publique. Il s'agit du plus bas niveau de protection des données.
  • protégée: l'accès aux données protégées est réservé aux méthodes (fonctions membres) des classes héritières. Il s'agit dun niveau intermédiaire de protection des données.
  • privée: l'accès aux données privées est limité aux méthodes (fonctions membres) de la classe propriétaire. Il s'agit du niveau le plus élevé de protection des données.

Malheureusement, aucun langage de programmation orientée objet oblige le programmeur à protéger les données membres, autrement dit, il est toujours possible de les déclarer publiques. Il sagit dun anti-patron de conception que tout bon programmeur évite à tout prix et ce pour plusieurs raisons.

Motivation

  1. L'encapsulation permet de changer les structures de données dun module ou dune classe sans modifier linterface de celle-ci et donc sans modifier les classes et modules qui lutilisent. Cette situation arrive fréquemment lorsque lon veut augmenter lefficacité (rapidité de traitement) dune classe ou dun module, il faut souvent modifier les structures de données en conséquence.
  2. L'encapsulation permet dajouter aisément des règles de validation et des contraintes dintégrité comme, par exemple, limiter le domaine des valeurs quune variable peut prendre (validité) ou vérifier que cette valeur nentre pas en conflit avec les valeurs dautres variables (intégrité).
  3. Plus généralement, l'encapsulation permet dinformer la classe quun changement à ses données est sur le point de survenir. Si cette information devient éventuellement cruciale, le programmeur nayant pas encapsulé les données se trouvera devant une impasse.
  4. L'encapsulation évite lantipattern plat de spaghetti qui ne permet pas de déterminer le qui, le quoi et le comment dune modification de données. En effet, l'application systématique de l'encapsulation impose un couplage faible et empêche donc le couplage fort, par espace commun ou par contenu, responsable du plat de spaghetti.
  5. Finalement, l'encapsulation permet doffrir une interface orientée services et responsabilités, cest-à-dire, doffrir aux utilisateurs (programmeurs, abstractionnistes et architectes) de la classe ou du module une interface indiquant clairement quels services sont offerts et quelles sont les responsabilités de cette classe ou module.

Voir aussi

Notes et références

Pressman R. S., Software Engineering: A Practitioner's Approach, Third Edition. McGraw-Hill. Chapitre 10, 1992.

Ce document provient de « Encapsulation des donn%C3%A9es ».

Wikimedia Foundation. 2010.

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

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

Regardez d'autres dictionnaires:

  • 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

  • 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 (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 — 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

  • 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

  • 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

  • Système de gestion de base de données — En informatique un système de gestion de base de données (abr. SGBD) est un logiciel système destiné à stocker et à partager des informations dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des… …   Wikipédia en Français

Share the article and excerpts

Direct link
https://fr-academic.com/dic.nsf/frwiki/581082 Do a right-click on the link above
and select “Copy Link”