22.02.2014 Views

Types de données en Python - LMPT

Types de données en Python - LMPT

Types de données en Python - LMPT

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

La programmation ori<strong>en</strong>tée objet<br />

Il s’agit d’un paradigme <strong>de</strong> programmation, non obligatoire <strong>en</strong> python, mais très utile pour<br />

faire du co<strong>de</strong> à la fois sûr et bi<strong>en</strong> conçu.<br />

1. Une classe va regrouper <strong>de</strong>s objets possédant <strong>de</strong>s caractéristiques souv<strong>en</strong>t similaires. Par<br />

exemple, la classe <strong>de</strong>s moy<strong>en</strong>s <strong>de</strong> locomotions.<br />

L’emploi <strong>de</strong> classes va permettre d’<strong>en</strong>capsuler un certain nombre <strong>de</strong> variables et <strong>de</strong> métho<strong>de</strong>s,<br />

ce qui donnera une programmation mieux structurée et plus sécurisée (on risque moins <strong>de</strong><br />

modifier <strong>de</strong>s données qui ne <strong>de</strong>vrai<strong>en</strong>t pas l’être).<br />

Au sein d’une classe, certaines variables et métho<strong>de</strong>s peuv<strong>en</strong>t être publiques (accessibles <strong>de</strong><br />

l’extéreur) et d’autres privées (accessibles seulem<strong>en</strong>t <strong>de</strong> façon interne, dans la classe).<br />

2. L’héritage permet <strong>de</strong> construire <strong>de</strong>s sous-classes ou classes-<strong>en</strong>fant possédant les fonctionalités<br />

<strong>de</strong> la classe par<strong>en</strong>t, mais <strong>en</strong> définissant aussi ses propres fonctionalités. Par exemple, on<br />

peut construire la classe-<strong>en</strong>fant "voitures" à partir <strong>de</strong> la classe-par<strong>en</strong>te "moy<strong>en</strong>s <strong>de</strong> locomotions".<br />

Un autre mécanisme existe : le polymorphisme qui permet <strong>de</strong> modifier les comportem<strong>en</strong>t <strong>de</strong>s<br />

objets d’une classe selon le contexte.<br />

3. Les objets sont <strong>de</strong>s membres d’une classe. Un objet regroupe <strong>de</strong>ux choses : <strong>de</strong>s attributs et<br />

<strong>de</strong>s métho<strong>de</strong>s. Lorsqu’on créé un représ<strong>en</strong>tant d’une classe, on dit qu’on instancie un objet.<br />

Pour cela, on utilise une métho<strong>de</strong> spécifique <strong>de</strong> la classe, appelée métho<strong>de</strong> constructeur.<br />

4. Les attributs sont <strong>de</strong>s données associées à un objet. Par exemple : si on considère un objet<br />

<strong>de</strong> la classe "voiture", la couleur est un attribut <strong>de</strong> cet objet. Une métho<strong>de</strong> est une fonction ou<br />

procédure, agissant sur les attributs <strong>de</strong> l’objet. Métho<strong>de</strong>s et attributs sont eux-mêmes <strong>en</strong>capsulés<br />

dans l’objet.

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

Saved successfully!

Ooh no, something went wrong!