Guida programmazione orientata agli oggettiTorna alla lezione

Esempio di incapsulamento [Python]

Il linguaggio Python, contrariamente alla stragrande maggioranza dei linguaggi di programmazione Object Oriented, non prevede alcuna restrizione sulla visibilitÓ dei metodi e delle proprietÓ definiti in una classe. Chiunque voglia conoscere l'implementazione di un oggetto potrÓ essere in grado di farlo. Solitamente, viene utilizzata una sorta di nomenclatura particolare per dichiarare le variabili che si intende nascondere. Es:

>>> class XX:
...	def __init__(self):
...		self.__x=0
...
>>> z=XX()
>>> dir(z)
 ['_XX__x']

L'attributo __X nella classe XX viene rinominato in _XX__x. Ci˛ non vieterÓ l'accesso a tale attributo ma servirÓ per fare intendere che andrÓ usato in modo non casuale.

Da questo punto di vista l'approccio del Python, pu˛ risultare apparentemente pi¨ veloce e semplice ma certamente si perdono tutti i benefici dell'incapsulamento, descritti in questa lezione.