Types de données en Python - LMPT
Types de données en Python - LMPT
Types de données en Python - LMPT
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.