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.

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

CHAPITRE 14<br />

Cette décomposition permet à chaque portion de code :<br />

d’évoluer de manière indépendante et de se spécialiser ;<br />

d’être réutilisable dans d’autres tâches ;<br />

de découper en tâches élémentaires des tâches plus complexes.<br />

Relation simple<br />

Dans l’exemple ci-dessous, la classe Afficheur se sert de la classe Calculateur pour<br />

fournir une interface à l’utilisateur.<br />

Afficheur-Calculateur<br />

class Calculateur(object):<br />

""" classe de calculs """<br />

def somme(self, *args):<br />

resultat = 0<br />

for arg in args:<br />

resultat += arg<br />

return resultat<br />

class Afficheur(object):<br />

""" classe de gestion de l'interface """<br />

def __init__(self):<br />

self._calculateur = Calculateur()<br />

Cette relation qui s’instaure entre l’afficheur et le calculateur permet au code d’affichage<br />

des résultats d’évoluer indépendamment du code qui effectue le calcul à proprement<br />

parler, et inversement.<br />

Relation multiple<br />

Les relations multiples peuvent être implémentées très simplement par le biais<br />

d’objets capables de gérer des séquences d’éléments, comme les listes ou les dictionnaires.<br />

Dans l’exemple ci-après, la classe Voiture gère une liste de quatre instances d’objet<br />

Roue.<br />

def somme(self, *args):<br />

resultat = self._calculateur.somme(*args)<br />

print('le résultat est %d' % resultat)<br />

497

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

Saved successfully!

Ooh no, something went wrong!