<?xml version="1.0"?>
<rss xmlns:php="http://php.net/xsl" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Du besoin au programme Java - Chicoree</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java</link><atom:link href="http://www.chicoree.fr/w/Du_besoin_au_programme_Java?action=toFeed" rel="self" type="application/rss+xml"/><description><![CDATA[Une fois la phase d'apprentissage de la syntaxe passée, un des problèmes fréquent que rencontrent les débutants en programmation est le passage d'un besoin au programme qui correspond.
Selon les auteurs cette phase peut porter le nom de conception ou d'architecture. Dans tous les cas, c'est à ce moment que le développeur doit être capable de trouver une solution pour résoudre un problème et pouvoir traduire cette solution sous forme d'un programme informatique.
C'est un problème ardu, et il existe une multitude de méthodes pour formaliser ce processus. Dans cet article d'initiation, nous n'allons pas du tout rentrer dans ces considérations et nous contenter d'une approche simple, adaptée pour une découverte de la programmation.
]]></description><item><title>1 L'environnement de développement</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#L.27environnement_de_d.C3.A9veloppement</link><description><![CDATA[<p>Avant toute chose, nous allons nous appuyer dans cet article sur le langage Java. On suppose ici la syntaxe à peu près acquise. De toute manière, sur ce point, on peut facilement trouver des exemples ou de la documentation sur Internet. On suppose également que vous savez utiliser les outils du JDK en ligne de commande (<tt>javac</tt> et <tt>java</tt> suffiront).
</p>]]></description></item><item><title>2 Développement</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#D.C3.A9veloppement</link><description><![CDATA[<p>Dans cette initiation, nous allons essayer d'écrire un programme Java pour répondre au besoin suivant:
</p>]]></description></item><item><title>2.1 Le besoin</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#Le_besoin</link><description><![CDATA[<p>Dans cette initiation, nous allons essayer d'écrire un programme Java pour répondre au besoin suivant:
</p>]]></description></item><item><title>2.2 Les objets</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#Les_objets</link><description><![CDATA[<p>Vous le savez peut-être, Java est un langage de programmation orienté-objets. C'est à dire que ce langage contient tous les outils nécessaires pour supporter un modèle de programmation (on dit un <i>paradigme</i> de programmation) appelé la <b>programmation orientée objets</b>.
Qu'est-ce que ça veut dire? Simplement que pendant son exécution, un programme Java va constamment créer et manipuler des objets.
</p>]]></description></item><item><title>2.3 Les classes</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#Les_classes</link><description><![CDATA[<p><i>A priori</i>, notre programme va utiliser 2 objets. Or en Java on est obligé d'organiser les objets en <i>familles</i> appelées <b>classes</b>. Une classe est en quelque sorte un groupe qui représente ce qu'ont en commun tous les objets de ce groupe.
</p>]]></description></item><item><title>2.4 Compiler, exécuter</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#Compiler.2C_ex.C3.A9cuter</link><description><![CDATA[<p>C'est court, mais suffisant pour compiler:
</p>]]></description></item><item><title>2.5 Utiliser les méthodes</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#Utiliser_les_m.C3.A9thodes</link><description><![CDATA[<p>Quelque part, si on voulait exprimer en français ce qu'il y a pour l'instant dans notre programme, ça ferait:
</p>]]></description></item><item><title>2.6 Définir les méthodes</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#D.C3.A9finir_les_m.C3.A9thodes</link><description><![CDATA[<p>Maintenant, si nous tentons de compiler, nous obtenons un certain nombre d'erreurs:
</p>]]></description></item><item><title>2.7 Les propriétés</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#Les_propri.C3.A9t.C3.A9s</link><description><![CDATA[<p>Ce qui manque, c'est simplement que l'objet mémorise le solde du compte.
Or le solde est une donnée:
</p>]]></description></item><item><title>3 Quelques bonnes pratiques</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#Quelques_bonnes_pratiques</link><description><![CDATA[<p>Formidable. Dans le cas idéal (<i>Happy Path</i>) tout a bien <i>l'air</i> de fonctionner!!! Mais modifions un peu le programme principal pour examiner un cas particulier:
</p>]]></description></item><item><title>3.1 Gérer les cas limites</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#G.C3.A9rer_les_cas_limites</link><description><![CDATA[<p>Formidable. Dans le cas idéal (<i>Happy Path</i>) tout a bien <i>l'air</i> de fonctionner!!! Mais modifions un peu le programme principal pour examiner un cas particulier:
</p>]]></description></item><item><title>3.2 Cloisonner</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#Cloisonner</link><description><![CDATA[<p>D'accord, mettre un println dans la méthode withdraw, ça a <i>l'air</i> d'être une bonne idée. Mais que se passerait-t-il dans la réalité? L'objet <tt>account</tt> serait vraisemblablement sur le serveur d'application centralisé de la banque, et le programme qui utilise cet objet sur le poste d'un conseiller financier - ou dans mon navigateur quand je gère mes comptes par Internet.
Donc quand l'objet <tt>account</tt> fait un <tt>println</tt>, au mieux, ça s'afficherait sur la console du serveur. Le conseiller financier (ou l'utilisateur Internet) n'aurait aucun moyen de savoir que son retrait n'a pas été honoré! Pas bon, ça...
</p>]]></description></item><item><title>4 Utiliser les exceptions</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#Utiliser_les_exceptions</link><description><![CDATA[<p>La solution de renvoyer une valeur (ici un booléen) pour signaler le succès ou l'échec est une solution classique dans de nombreux langages. Néanmoins, cela impose à l'<b>appelant</b> (la méthode qui appelle <tt>withdraw</tt>) de tester cette valeur de retour <b>après chaque appel</b>:
</p>]]></description></item><item><title>4.1 Signaler une exception</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#Signaler_une_exception</link><description><![CDATA[<p>En Java, pour signaler une exception on utilise le mot clé <tt>throw</tt> suivi d'un objet de la classe <tt>Exception</tt> (ou plus généralement, d'une de ses classes dérivées) qui représente l'exception.
</p>]]></description></item><item><title>4.2 Installer un gestionnaire d'exceptions</title><link>http://www.chicoree.fr/w/Du_besoin_au_programme_Java#Installer_un_gestionnaire_d.27exceptions</link><description><![CDATA[<p>La première étape va être de supprimer le test qui nous servait à détecter si le retrait s'était bien passé ou pas. Ce test n'a plus de raison d'être puisque la méthode <tt>withdraw</tt> ne <b>renvoie plus</b> de booléen pour indiquer le succès ou l'échec:
</p>]]></description></item></channel></rss>
