<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>POO – programmation orientée objet on kodkod | Cours d'introduction</title><link>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/</link><description>Recent content in POO – programmation orientée objet on kodkod | Cours d'introduction</description><generator>Hugo</generator><language>fr</language><copyright>מבואות קודקוד</copyright><atom:link href="https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/index.xml" rel="self" type="application/rss+xml"/><item><title>Classes et objets : du problème à une classe complète</title><link>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/01-classes-and-objects/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/01-classes-and-objects/</guid><description>&lt;h2 id="dans-cette-leçon"&gt;Dans cette leçon&lt;/h2&gt;
&lt;p&gt;Cette leçon est construite comme une seule histoire, dans le même ordre que les diapositives. Nous partons d&amp;rsquo;un petit système bancaire écrit avec des dictionnaires et des fonctions, nous voyons où il casse, et à chaque chapitre nous ajoutons un outil qui résout un problème :&lt;/p&gt;</description></item><item><title>Les objets au travail : état, masquage de l'information, properties et une classe complète</title><link>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/02-objects-in-practice/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/02-objects-in-practice/</guid><description>&lt;h2 id="dans-cette-leçon"&gt;Dans cette leçon&lt;/h2&gt;
&lt;p&gt;Cette leçon est construite comme une seule histoire, dans le même ordre que les diapositives. Chaque chapitre s&amp;rsquo;appuie sur le précédent :&lt;/p&gt;</description></item><item><title>L'héritage et super : des classes semblables sans code dupliqué</title><link>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/03-inheritance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/03-inheritance/</guid><description>&lt;h2 id="dans-cette-leçon"&gt;Dans cette leçon&lt;/h2&gt;
&lt;p&gt;Cette leçon est construite comme une seule histoire, dans le même ordre que les diapositives :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Chapitre 1&lt;/strong&gt; — pourquoi l&amp;rsquo;héritage : deux fois le même code, et comment hériter au lieu de copier&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chapitre 2&lt;/strong&gt; — la redéfinition et &lt;code&gt;super()&lt;/code&gt; : hériter, mais pas exactement — ne changer qu&amp;rsquo;une partie du comportement&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;À la fin de la leçon — de la pratique, et un &lt;strong&gt;mini-projet&lt;/strong&gt; qui relie les deux chapitres.&lt;/p&gt;</description></item><item><title>Le polymorphisme : une interface commune, des comportements différents</title><link>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/04-polymorphism/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/04-polymorphism/</guid><description>&lt;h2 id="quallons-nous-apprendre-"&gt;Qu&amp;rsquo;allons-nous apprendre ?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ce qu&amp;rsquo;est le &lt;strong&gt;polymorphisme&lt;/strong&gt; (Polymorphism).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Une interface commune&lt;/strong&gt; (Common Interface) : la même méthode, un comportement différent pour chaque type.&lt;/li&gt;
&lt;li&gt;Pourquoi il &lt;strong&gt;remplace&lt;/strong&gt; le &lt;code&gt;if type == ...&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le Duck Typing&lt;/strong&gt; : la version souple de Python.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="pourquoi-en-avons-nous-besoin-"&gt;Pourquoi en avons-nous besoin ?&lt;/h2&gt;
&lt;p&gt;Supposons qu&amp;rsquo;un système de paiement doive débiter un client, et que le client puisse payer par carte bancaire, par PayPal ou par virement bancaire. Sans polymorphisme :&lt;/p&gt;</description></item><item><title>La responsabilité unique en POO et la composition face à l'héritage</title><link>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/05-srp-and-composition/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/05-srp-and-composition/</guid><description>&lt;h2 id="quallons-nous-apprendre-"&gt;Qu&amp;rsquo;allons-nous apprendre ?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Le principe de responsabilité unique (SRP)&lt;/strong&gt; au niveau d&amp;rsquo;une classe.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La composition&lt;/strong&gt; (Composition) : un objet fait d&amp;rsquo;autres objets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La composition face à l&amp;rsquo;héritage&lt;/strong&gt; : comment choisir.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="pourquoi-en-avons-nous-besoin-"&gt;Pourquoi en avons-nous besoin ?&lt;/h2&gt;
&lt;p&gt;Dans le thème du code propre, nous avons appris le SRP pour les &lt;strong&gt;fonctions&lt;/strong&gt; : chaque fonction fait une seule chose. Exactement le même principe s&amp;rsquo;applique aux &lt;strong&gt;classes&lt;/strong&gt;, et il y est encore plus important, car une grosse classe est un « tas » de données &lt;strong&gt;et&lt;/strong&gt; de comportements. Quand chaque modification (du format du ticket, du moyen de paiement, du calcul de la TVA) touche la même classe, elle devient fragile et effrayante à modifier.&lt;/p&gt;</description></item><item><title>Pratique guidée : d'une exigence verbale à une structure de classes</title><link>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/06-from-requirements-to-classes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://intro-kodkod-6.nm-ambition.com/fr/docs/oop/06-from-requirements-to-classes/</guid><description>&lt;h2 id="quallons-nous-apprendre-"&gt;Qu&amp;rsquo;allons-nous apprendre ?&lt;/h2&gt;
&lt;p&gt;C&amp;rsquo;est une leçon &lt;strong&gt;atelier&lt;/strong&gt;. Nous allons prendre une exigence verbale, et suivre &lt;strong&gt;ensemble&lt;/strong&gt; tout le processus :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Lire et marquer.&lt;/li&gt;
&lt;li&gt;Décider des classes.&lt;/li&gt;
&lt;li&gt;La responsabilité et les données de chaque classe.&lt;/li&gt;
&lt;li&gt;Les relations entre les classes.&lt;/li&gt;
&lt;li&gt;Un squelette de code.&lt;/li&gt;
&lt;li&gt;L&amp;rsquo;implémentation.&lt;/li&gt;
&lt;li&gt;Les tests, et la correction de la conception.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="pourquoi-en-avons-nous-besoin-"&gt;Pourquoi en avons-nous besoin ?&lt;/h2&gt;
&lt;p&gt;Dans le projet de POO que vous construirez plus tard, &lt;strong&gt;avant d&amp;rsquo;écrire le code, il faut une étape de conception&lt;/strong&gt; (Design). Cette leçon est la répétition générale : exactement le même processus, sur un problème différent, avec le formateur aux commandes.&lt;/p&gt;</description></item></channel></rss>