Bienvenue dans notre cours ‘Programmation orientée objet en Python’. Ce cours traite les concepts fondamentaux de la POO. Aussi, on explique , puis implémente, les principes de la POO comme l’encapsulation, l’héritage, le polymorphisme et l’abstraction.
Alors, dans cette partie de cours, on va découvrir le principe d’encapsulation dans la programmation orientée objet.
Encapsulation en POO
L’encapsulation est un mécanisme qui consiste à rassembler les données et les méthodes au sein d’une classe en cachant l’implémentation de l’objet. Autrement dit, le principe d’encapsulation permet aux objets de se présenter sous deux vues possibles :
- la vue externe : celle utilisée par le programmeur utilisateur de la classe. En effet, elle définit les services accessibles aux utilisateurs de l’objet et ne fournit aucun accès aux mécanismes internes de l’objet ;
- la vue interne : celle du programmeur concepteur de l’objet .Elle donne, alors, tous les détails sur la constitution interne de l’objet, comment il est construit ;
La vue externe définit ,alors, l’interface de l’objet ( c’est à dire : comment on l’utilise). Aussi, cette vue n’apporte pas de détail sur la manière dont l’objet est réellement constitué.
En d’autres termes, l’encapsulation permet de dissimuler à l’utilisateur d’un objet des détails d’implémentation susceptibles d’évoluer avec le temps, ou ne présentant pas d’intérêt pour l’utilisation externe de l’objet.
Pour conclure, l’interface proposée par la vue externe est la seule partie de l’objet qui ne DOIT pas être modifié dans le temps, tout en proposant suffisamment d’interaction avec l’objet.
Intérêts de l’encapsulation :
1- L’encapsulation facilite l’évolution d’une application. En effet, on peut modifier des détails internes d’une classes sans modifier son interface.
2- Comme, l’encapsulation permet d’interdire l’accès direct aux détails internes, alors, elle favorise l’intégrité des données .
une classe peut complètement modifier la manière dont elle modélise et stocke ses données. Mais tant qu’elle continue à offrir les mêmes méthodes pour les manipuler, les autres objets n’en sauront rien et ne s’en préoccuperont pas
Les programmes doivent interagir avec les données d’ un objet uniquement par l’ intermédiaire des méthodes de l’ objet.
Python : Implémenter l'encapsulation
Pour implémenter le principe d’encapsulation, les langages de programmation orientés objets introduisent et utilisent la notion de visibilité.
Notion de Visibilité
La visibilité d’un attribut ou d’une opération permet de déterminer qui pourra y accéder. En outre, C’est une notion fondamentale pour le concept objet d’encapsulation. On a 3 types de visibilité:
- « + » ou public : tout le monde peut y accéder
- « # » ou protected : seules la classe possédant l’élément et les classes filles peuvent y accéder (voir notion d’héritage)
- « – » ou private : seule la classe possédant l’élément peut y accéder
Règle :
- Les attributs doivent être privés
- Les opérations définissant l’interface d’une classe doivent être publique (services offerts)
- Des opérations peuvent aussi être privées si elles ne participent qu’au fonctionnement interne de la classe
Pour découvrir comment python va implémenter cette règle, rendez-vous dans la partie suivante du cours.
Vous pouvez suivre notre liste des vidéos sur la programmation orientée objet sur notre chaine youtube 9raytifclick (Darija: arabe marocaine) : POO en Python
Aussi, si vous voulez commencer l’apprentissage d’un langage de programmation, voilà notre cours : Langage Python Niveau 1 qui sera très utile pour vous (il vous aide à pratiquer tous les éléments de base de la programmation ; vus dans notre cours d’algorithmique).