Accueil
 Sommaire du cours
 1  Introduction à Java
 2  Concepts de bases de Java
 3  Classes et objets en Java
 3.1  Classe
 3.2  Objet
 3.2.1  Constructeurs en Java
 3.2.2  Exemples de constructeurs
 3.2.3  this
 3.2.4  Exemples d'utilisation de this
 3.2.5  Destruction des objets
 3.2.6  Abstraction et encapsulation
 3.2.7  Visibilité des méthodes
 3.3  Attributs et méthodes de classe
 3.4  Association entre classes
 Questions
 4  Généralisation spécialisation en Java
 5  Organisation des sources Java
 6  API Java
 7  Exceptions en Java
 8  Concepts objets avancés en Java
 Bibliographie

 Contacts

W3C validator

Département INF  
 Conception et programmation orientées objet


3.2.6 Abstraction et encapsulation
  • Une classe correspond aux concepts d’abstraction et d’encapsulation
  • C’est une abstraction car elle présente une interface (ensemble de méthodes) qui permettent d’interagir avec les objets
  • Une classe encapsule des données (ensemble d’attributs)
  • Pour garantir sa robustesse et son indépendance du reste du code, une classe doit masquer son implantation
  • En particulier, elle ne doit pas permettre la modification de ses attributs sans contrôle

    précédent     suivant 


Une classe correspond aux concepts d’abstraction et d’encapsulation. C’est une abstraction car elle présente une interface qui permet d’utiliser les objets de cette classe. Cette interface est constituée par un ensemble de méthodes. Une classe encapsule des données qui sont un ensemble d’attributs. Pour garantir sa robustesse et son indépendance du reste du code, une classe doit masquer sa réalisation, appelée aussi implantation.

Une classe doit permettre l’utilisation de son interface mais protéger ses attributs des modifications.

L’accès direct aux attributs d’une classe viole le concept d’information encapsulée dans la classe.

Pour prendre un exemple de la vie courante, lorsqu’une montre affiche une heure, nous voyons cet affichage selon la technologie qui est apportée par l’interface (aiguilles, cristaux liquides, diodes lumineuses). Cette interface ne nous laisse pas deviner si la montre est à pile, à quartz, à mouvement mécanique ou autre. De plus, nous ne pouvons pas intervenir directement sur l’endroit qui stocke l’information permettant d’afficher l’heure. Nous ne pouvons qu’accéder à des boutons qui permettent de modifier cette information.

Christian Bac, Denis Conan, Télécom SudParis, CSC 4002, Octobre 2015