Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Introduction à la programmation orientée objet - Encapsulation

Encapsulation des données Encyclopédie


Le concept d'encapsulation

L'encapsulation est un mécanisme consistant à rassembler les données et les méthodes au sein d'une structure en cachant l'implémentation de l'objet, c'est-à-dire en empêchant l'accès aux données par un autre moyen que les services proposés. L'encapsulation permet donc de garantir l'intégrité des données contenues dans l'objet.

Le masquage des informations

L'utilisateur d'une classe n'a pas forcément à savoir de quelle façon sont structurées les données dans l'objet, cela signifie qu'un utilisateur n'a pas à connaître l'implémentation. Ainsi, en interdisant l'utilisateur de modifier directement les attributs, et en l'obligeant à utiliser les fonctions définies pour les modifier (appelées interfaces), on est capable de s'assurer de l'intégrité des données (on pourra par exemple s'assurer que le type des données fournies est conforme à nos attentes, ou encore que les données se trouvent bien dans l'intervalle attendu).

L'encapsulation permet de définir des niveaux de visibilité des éléments de la classe. Ces niveaux de visibilité définissent les droits d'accès aux données selon que l'on y accède par une méthode de la classe elle-même, d'une classe héritière, ou bien d'une classe quelconque. Il existe trois niveaux de visibilité:

  • publique: les fonctions de toutes les classes peuvent accéder aux données ou aux méthodes d'une classe définie avec le niveau de visibilité public. Il s'agit du plus bas niveau de protection des données
  • protégée: l'accès aux données est réservé aux fonctions des classes héritières, c'est-à-dire par les fonctions membres de la classe ainsi que des classes dérivées
  • privée: l'accès aux données est limité aux méthodes de la classe elle-même. Il s'agit du niveau de protection des données le plus élevé

Discussions pertinentes trouvées dans le forum

05/08 14h32 encapsulation bridge dslw ip Encapsulation du bridge ou DSLW en IP Réseaux 07/08 00h46->brupala4
12/01 16h34 datagramme ip encapsulation Datagramme IP, encapsulation Réseaux 13/01 00h49->brupala3
18/12 10h28 encapsulation ENCAPSULATION Développement 19/12 12h59->TOULEMONDE2
09/11 01h25 modification encapsulation sagem mandrak modification encapsulation sagem sur mandrak Réseaux 09/11 02h21->kmf311
19/02 10h20 encapsulation requetes encapsulation des requetes Windows 19/02 10h20->plumber0
20/07 17h17 encapsulation fortran c Encapsulation Fortran dans C/C++ Développement 20/07 17h17->Kelner Vincent0
05/05 15h43 encapsulation protocoles Encapsulation de protocoles Développement 05/05 15h43->Bassman0
15/07 16h23 encapsulation trame ethernet filtrage Encapsulation de trame ethernet et filtrage d Linux/Unix 15/07 16h23->brice0
20/10 15h57 encapsulation ftp http encapsulation de ftp dans http Réseaux 20/10 17h31->jojoe352
25/03 10h11 encapsuler java Encapsuler du C dans du Java Développement 25/03 16h55->weblook5
Discussion fermée Problème résolu Encapsulation Plus de discussions sur « Encapsulation »

Ce document intitulé « Introduction à la programmation orientée objet - Encapsulation » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.