Manipulation de points
On considère la classe nommée Point ayant les attributs suivants :
__abs: attribut privé de typefloatpour représenter l’abscisse du point ;__ord: attribut privé de typefloatpour représenter l’ordonnée du point.
- Définir la class
Pointet le constructeur__init__permettant d’initialiser les deux attributs.
L’encapsulation est un concept fondamental de la conception objet. L’idée est de ne pas laisser accessibles les attributs depuis l’extérieur de la classe/objet ; les attributs sont alors dits privés (ou protégés si l’accès est nécessaire dans une sous-classe).
En pratique :
|
|
En Python, par convention, le nom des attributs privés commence par __.
L’accès et la modification des attributs nécessitent alors la définition de méthodes appellées getters et setters.
Les noms de ces méthodes sont, par exemple pour l’attribut __abs, get_abs et set_abs.