• 6 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 08/11/2019

Conclusion

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Conclusion

Nous avons tout fini ! BRAVO !! Je vous félicite ! Si vous le désirez, vous pouvez aller plus loin en créant le second graphique par vous-même. Vous trouverez la proposition de Régis Behmo et moi sur Github, ici : https://github.com/OpenClassrooms-Student-Center/la_poo_avec_python/blob/master/model.py  

Vous verrez que le code est légèrement différent de celui que nous avons fait ensemble. Nous y avons ajouté de bonnes pratiques dont nous n'avons pas encore parlé, notamment les Docstrings (les trois guillemets). Hé oui, cela fera l'objet d'un prochain cours !  

Aller plus loin

Vous venez de terminer ce cours et vous pouvez être fier ou fière de vous ! Mais votre apprentissage de l'orienté objet ne s'arrête pas là.

En fait, vous n'avez fait qu'ouvrir une porte vers un monde très vaste. Rappelez-vous : l'orienté objet est un paradigme, une manière de résoudre les problèmes. Il est composé de plusieurs domaines extrêmement intéressants mais trop étendus pour être résumés ici ! Ce cours le présente de manière extrêmement succincte et, par conséquent, incomplète. 

Afin d'approfondir votre apprentissage, je vous conseille de vous former au Design Orienté Objet et notamment à UML (Unified Modeling Language). Il s'agit d'un langage de modélisation graphique qui aide à concevoir un système informatique. Vous y découvrirez comment réaliser de véritables diagrammes de classe et de séquence qui suivent des conventions bien particulières. 

Mon cours favori est celui de Laurent Audibert, UML 2, sur Développez.com.  Une version plus récente est disponible en format papier

Un des lives de référence sur le sujet est Applying UML and Patterns. Très complet et volumineux, il s'utilise comme une Bible dans laquelle vous pourrez venir trouver des solutions au fur et à mesure de votre évolution professionnelle.

Puis intéressez-vous de plus près à l'héritage multiple et au polymorphisme, deux notions que nous avons survolées dans ce cours. Je vous recommande vivement la lecture de l'excellent ouvrage Fluent Python.  

Bonus

Voici comment Steve Jobs a expliqué la programmation orientée objet à un journaliste du magazine Rolling Stone en 1994 :

Jeff Goodell : Pourriez-vous expliquer, dans des termes simples, ce que signifie exactement "programme orienté objet" ?

Steve Jobs : Les objets sont comme des gens. Ce sont des choses vivantes qui respirent et qui portent avec eux différentes connaissances qui leur permettent de faire des choses. Ils ont également une mémoire donc ils se souviennent des choses. Et plutôt que d'interagir avec eux à un bas niveau, vous interagissez avec eux à un très haut niveau d'abstraction, comme nous sommes en train de le faire actuellement.

Voici un exemple : si je suis votre objet "pressing", vous pouvez me donner vos affaires sales et m'envoyer un message qui dit : "Pourriez-vous envoyer mes affaires chez le pressing, s'il-vous-plait ?". Il se trouve que je sais exactement quel est le meilleur pressing de tout San Francisco. Et je parle anglais, et j'ai des dollars dans ma poche. Donc je dors, j'appelle un taxi et je demande au chauffeur de me laisser en face de ce pressing à San Francisco. Je fais laver vos affaires, je saute dans le taxi et je reviens ici. Je vous donne vos vêtements propres et je vous dit : "Voici vos vêtements propres".

Vous n'avez aucune idée de la manière dont j'ai fait tout ça. Vous ne savez pas où est le pressing. Peut-être même que vous parlez français et que vous ne pouvez pas appeler un taxi ici, à San Francisco. Vous ne pouvez pas le payer car vous n'avez pas de dollars en poche. Mais moi je sais comment faire tout ça. Et vous n'avez pas eu besoin de savoir quoi que ce soit sur la manière dont je l'ai fait. Toute la complexité était cachée à l'intérieur de moi et nous avons pu interagir à un très haut niveau d'abstraction. Voici ce que sont les objets. Ils "encapsulent" la complexité et les interfaces avec cette complexité sont de très haut niveau.  

Exemple de certificat de réussite
Exemple de certificat de réussite