<?xml version="1.0"?>
<rss xmlns:php="http://php.net/xsl" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Programmation impérative/Objets - Chicoree</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets</link><atom:link href="http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets?action=toFeed" rel="self" type="application/rss+xml"/><description><![CDATA[En programmation orientée objets, un objet est une unité qui regroupe à la fois des données et les traitements associés. Pendant l'exécution du programme, l'ensemble des objets évolue (certains sont créés, d'autres détruits) et la tâche à réaliser par le programme est effectuée en faisant interagir ces objets entre-eux.
Un objet peut représenter une notion concrète du domaine d'application du programme. Dans ce cas, on parle d'objet métier. A l'inverse, un objet peut aussi représenter une abstraction informatique. Dans ce cas, on parle d'objet système. A titre d'exemple, en Java, System.in et System.out sont des objets systèmes qui représentent respectivement l'entrée standard et la sortie standard.
]]></description><item><title>1 Pas à pas (PHP)</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#Pas_.C3.A0_pas_.28PHP.29</link><description><![CDATA[<p>Afin d'illustrer la notion d'objet, nous allons écrire un programme d'inventaire. Celui-ci gère un ensemble d'articles, permet d'en ajouter ou d'en enlever du stock, et finalement d'afficher l'état de celui-ci. Le langage retenu pour ce programme est PHP.
</p>]]></description></item><item><title>1.1 Données</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#Donn.C3.A9es</link><description><![CDATA[<p>Les <b>données</b> représentent ce qui va être manipulé par le programme. 
Dans le vocabulaire de la programmation orientée objets, pour parler des données <i>propres à chaque</i> objet, on parle de <b>variables d'instances</b> ou de <b>données membres</b>.
</p>]]></description></item><item><title>1.2 Initialisation</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#Initialisation</link><description><![CDATA[<p>L'<b>initialisation</b> consiste à donner des <i>valeurs de départ</i> aux données d'un objet. Un objet est initialisé lors de sa <b>création</b>.
</p>]]></description></item><item><title>1.3 Traitement</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#Traitement</link><description><![CDATA[<p>Les <b>traitements</b> associés représentent ce que <i>sait faire</i> cet objet. Dans le vocabulaire de la programmation orientée objets, pour faire référence aux traitements associés à un objet, on parle de <b>méthode</b> ou de <b>fonction membre</b>.
</p>]]></description></item><item><title>1.4 Programme principal</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#Programme_principal</link><description><![CDATA[<p>Maintenant, nous avons décrit un article <i>en général</i>. Nous connaissons donc:
</p>]]></description></item><item><title>1.5 Exécution</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#Ex.C3.A9cution</link><description><![CDATA[<p>Pour tester ce programme, il vous faut copier les deux fichiers <tt>Article.php</tt> et <tt>main.php</tt> dans le répertoire de votre serveur web.
</p>]]></description></item><item><title>2 Java</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#Java</link><description><![CDATA[<p>Maintenant que nous avons détaillé ce programme en PHP, nous allons écrire le même, mais en Java.
</p>]]></description></item><item><title>2.1 Déclaration des variables</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#D.C3.A9claration_des_variables</link><description><![CDATA[<p>Comme dit en introduction, <i>la</i> différence importante entre Java et PHP au niveau du langage est la nécessité d'indiquer en Java le type des données manipulées. C'est visible <i>partout</i> où l'on <b>déclare</b> une variable.
</p>]]></description></item><item><title>2.2 Constructeur</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#Constructeur</link><description><![CDATA[<p>Petit point de syntaxe, mais à ne pas oublier: en Java le constructeur est identifié dans la classe car son nom est le même que le nom de la classe:
</p>]]></description></item><item><title>2.3 this optionnel</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#this_optionnel</link><description><![CDATA[<p>Autre différence de <b>syntaxe</b> entre PHP et Java, en Java le mot-clé this est optionnel – et généralement omis – s'il n'y a pas de confusion possible avec une autre variable.
</p>]]></description></item><item><title>3 Groovy</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#Groovy</link><description><![CDATA[<p>Après l'étude des versions PHP et Java de ce programme, la comparaison avec d'autres langages devrait être facile. Commençons par Groovy. Groovy est un langage pour la plate-forme Java, avec une syntaxe proche de celle du langage Java, mais qui supporte un modèle de programmation dynamique. Ceci a notamment pour conséquence que, tout comme en PHP, il n'est pas nécessaire de déclarer le type de variables. On <i>peut</i> le faire, mais ça n'est pas <i>obligatoire</i>. Pour déclarer une variable sans préciser son type, on utilise le mot-clé <tt>def</tt> (qui lui aussi est <i>optionnel</i>, d'ailleurs...).
</p>]]></description></item><item><title>4 C++</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#C.2B.2B</link><description><![CDATA[<p>Si Groovy prend délibérément l'approche dynamique, C++ lui est un langage à typage statique. Tout comme Java. D'où déclaration obligatoire des types. Par contre, contrairement à tous les autres langages vus ici, C++ sépare clairement la déclaration d'une classe du code à proprement parler des méthodes.
</p>]]></description></item><item><title>4.1 .h et .cc</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#.h_et_.cc</link><description><![CDATA[<p>Traditionnellement le "code" se trouve dans des fichiers avec l'extension <tt>.cc</tt> et les déclarations de classe dans des fichiers avec l'extension <tt>.h</tt> (ou parfois même sans extension du tout).
</p>]]></description></item><item><title>4.2 Programme principal</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#Programme_principal_2</link><description><![CDATA[<p>Enfin, il nous manque le <b>programme principal</b>. Celui-ci n'a pas besoin d'être <b>déclaré</b>. <i>Pas besoin</i> d'un <tt>main.h</tt>. Le fichier de définition <tt>main.cc</tt> suffit:
</p>]]></description></item><item><title>4.3 Exécuter le programme</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#Ex.C3.A9cuter_le_programme</link><description><![CDATA[<p>Pour compiler et exécuter le programme, vérifiez tout d'abord que vous avez bien les trois fichiers <tt>Article.h</tt>, <tt>Article.cc</tt> et <tt>main.cc</tt> dans votre répertoire courant:
</p>]]></description></item><item><title>5 JavaScript</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#JavaScript</link><description><![CDATA[<p>Dans les langages présentés ici, C++ est certainement celui qui est le plus difficile à maîtriser. Quand à JavaScript, sous une apparente simplicité, il se révèle un langage puissant, mais aussi avec la syntaxe la plus exotique.
</p>]]></description></item><item><title>6 A vous de jouer</title><link>http://www.chicoree.fr/w/Programmation_imp%C3%A9rative/Objets#A_vous_de_jouer</link><description><![CDATA[<p>Dans le but de motiver ses employés, un directeur de restaurant envisage de mettre en place un logiciel permettant au client de donner un avis sur la qualité du service.
</p>]]></description></item></channel></rss>
