17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Métaclasses<br />

Héritage multiple<br />

>>> class A(object):<br />

... def a(self):<br />

... print('A.a')<br />

...<br />

>>> class B(object):<br />

... def a(self):<br />

... print('B.a')<br />

... def b(self):<br />

... print('B.b')<br />

...<br />

>>> class C(A, B):<br />

... def c(self):<br />

... print('C.c')<br />

... def Aa(self):<br />

... A.a(self)<br />

...<br />

>>> ob = C()<br />

>>> ob.a()<br />

A.a<br />

>>> ob.b()<br />

B.b<br />

>>> ob.c()<br />

C.c<br />

>>> ob.Aa()<br />

A.a<br />

<strong>Programmation</strong> orientée objet<br />

CHAPITRE 14<br />

En pratique, l’héritage multiple est à proscrire tant que possible car il peut être assez<br />

délicat à gérer : la complexité et les caractéristiques de la classe se démultiplient.<br />

Les métaclasses en Python ont été introduites par le biais de la variable<br />

__metaclass__, présentée au chapitre 5.<br />

Garbage collecting<br />

Comme la plupart des langages modernes, Python offre un mécanisme<br />

ramasse-miettes, ou garbage collecting : toute référence de classe créée en mémoire est<br />

automatiquement libérée par l’interpréteur. Le développeur n’a donc plus besoin de<br />

gérer la libération de ses objets.<br />

499

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!