S01 Classes, classes abstraites, enum et interfaces
|
|
- René Chevalier
- il y a 8 ans
- Total affichages :
Transcription
1 I N T E RFACE HOMME-MACHINE 1 I1 + T1 HEIA-FR J. BAPST S01 Classes, classes abstraites, enum et interfaces OBJECTIFS Mettre en œuvre les principes de base de la programmation orientée objet (encapsulation, héritage et polymorphisme). Définir et coder des classes, des sous-classes, des clases abstraites et des interfaces sur la base d'une spécification. Créer des objets et les utiliser. Exercer les nouvelles notions de programmation présentées au début du cours IHM-1 : énumérations, généricité, annotations et expressions lambda. Consulter et exploiter la documentation (API) de la plate-forme Java. Apprendre à connaître et utiliser des classes génériques du type Collection, notamment List<> et ArrayList<>. Découvrir et utiliser quelques classes de la plateforme Java et de JavaFX (Random, File, Point2D, Color). CONSIGNES Avec Eclipse, créer un projet nommé IHM1 qui sera utilisé pour toutes les séries d'exercices et les TP du cours. Sauf indications contraires, les classes, interfaces et autres éléments seront créés dans des packages dont le nom portera l'identification de la série (s01, s02, ). Des sous-packages pourront être créés, par exemple s01.test pour les classes de test, s01.tools pour des classes utilitaires, etc. D'une manière générale, respecter le principe d'encapsulation et soigner le codage (indentation, choix des identificateurs, conventions de codage, décomposition du code, commentaires appropriés, etc.). Respecter strictement les identificateurs proposés et les spécifications figurant dans les énoncés. Pour les méthodes, les paramètres et les valeurs de retour ne sont souvent pas indiqués; c'est à vous de les déterminer en fonction de l'énoncé. Bien lire et comprendre les énoncés avant de coder. Souvent les exercices s'enchaînent et il vaut la peine de lire l'ensemble des questions avant de débuter la conception et le codage. Prenez l'habitude de tester vos classes et vos méthodes au fur et à mesure de leur écriture (les méthodes de test peuvent même être écrites avant d'implémenter les classes à tester). Pensez à définir des scénarios de test qui ne comprennent pas que le cas général mais qui incluent également des cas particuliers. Dans le rapport qui sera rendu, indiquer clairement les tests effectués et les résultats obtenus (valeurs affichées sur la console, copies d'écran, etc.). Même si les exercices comportent plusieurs phases, seule la version finale du code sera rendue. Les commentaires et remarques devront cependant faire référence aux numéros des exercices de l'énoncé. Les exercices comportent parfois des questions explicitement mentionnées ( QUESTION ). Vos réponses, argumentées, doivent figurer dans le rapport rendu. Il faut profiter des séances de TP pour clarifier les éléments de la matière qui ne sont pas clairs (ne pas compter sur le rendu des TP). IHM1_S01.docx J. Bapst 1
2 EXERCICES 1 Définir et coder la classe abstraite Message ainsi que les classes concrètes , Sms et Mms selon le diagramme de classes suivant : Message Sms Mms La classe abstraite Message définira l'adresse de l'expéditeur du message (sender) ainsi que la liste des adresses des destinataires (recipients). Les adresses seront simplement enregistrées dans des chaînes de caractères (String). Pour la liste des destinataires on pourra utiliser un tableau ou, mieux, un objet de type List<String> (interface) en utilisant la classe concrète ArrayList<String>. Étudier préalablement l'api de ces classes qui se trouvent dans le package java.util. La classe Message comprendra une méthode abstraite display() dont le but sera d'afficher le contenu du message (défini dans les sous-classes). Des méthodes concrètes getsender() et getrecipients() permettront de connaître l'expéditeur et les destinataires du message. Dans la classe concrète le message sera enregistré sous forme d'une chaîne de caractères (String). Dans la classe concrète Sms le message sera enregistré sous forme d'un tableau caractères (avec de l'espace prévu pour 160 caractères). Dans la classe concrète Mms le message sera enregistré sous forme d'une chaîne de caractères et d'une image en couleur. L'image sera simplement définie et enregistrée comme un objet de type Image (javafx.scene.image.image). Il n'est pas indispensable de connaître les détails de cette classe. Remarque : pour pouvoir créer des objets de type Image en dehors d'une application JavaFX, il faut initialiser le contexte graphique en invoquant new JFXPanel(); au début de la méthode main(). Coder ces différentes classes : Message, , Sms, Mms. Dans chaque sous-classe, redéfinir la méthode tostring() (héritée de Object) pour qu'elle retourne une chaîne de caractères avec le contenu du message (par exemple "Serai en retard pour l'apéro, exercice IHM plus long que prévu"). L'implémentation de la méthode display() fera appel à tostring(). Pour la redéfinition des méthodes tostring() (héritée de Object) et display() (héritée de Message), utiliser qui permet au compilateur de vérifier que vous respectez bien les entêtes des méthodes telles qu'elles sont définies dans les classes parentes. Pensez à utiliser cette annotation chaque fois que vous redéfinissez des méthodes ou que vous implémentez les méthodes d'une interface. 2 Pour simuler un client de messagerie, créer une classe MailBox qui disposera des méthodes permettant d'envoyer des messages et de consulter le serveur de messagerie (simulé) pour voir si de nouveaux messages sont arrivés : send() receive() envoi d'un message réception du prochain message en attente sur le serveur (s'il y en a un) La méthode send() se contentera de simuler l'envoi en affichant le type de message, le nom de l'expéditeur, celui des destinataires et le contenu du message. Exemple : "SMS envoyé par Bob à Léa : Serai en retard pour l'apéro, exercice IHM plus long que prévu". IHM1_S01.docx J. Bapst 2
3 La méthode receive() simulera la consultation des différents serveurs de messagerie et se chargera, si un message a été reçu, de le récupérer. Elle simulera cette réception en retournant, au hasard, un message de type , Sms, Mms ou aucun message. On codera cette méthode de manière à ce que, dans 50% des cas, elle ne retourne aucun message, dans 30% des cas elle retourne un et que les SMS et les MMS ne soient retournés que dans 10% des cas chacun. Indication : la classe Random permet de générer des nombres au hasard et peut être utile pour coder l'aspect aléatoire de la méthode receive(). 3 Écrire un programme permettant de tester votre classe MailBox. Imaginer un scénario de test permettant de tester l'ensemble des fonctionnalités. 4 Imaginer une autre forme de message, si possible assez différente des trois autres et coder cette nouvelle sous-classe de Message. Intégrer votre nouvelle classe dans la classe MailBox et adapter votre programme de test. QUESTION Quelles adaptations ont-elles été nécessaires dans la classe MailBox et dans le programme de test? 5 Créer une classe Rectangle qui modélise un rectangle dans un espace à deux dimensions et dont les côtés sont parallèles aux axes du système de coordonnées. Étudier l'api de la classe Point2D (javafx.geometry.point2d) et utiliser des objets de ce type pour implémenter la classe Rectangle. Définir (au moins) les constructeurs suivants : Rectangle(double x0, double y0, double x1, double y1); Rectangle(Point2D downleft, Point2D upright); La classe comprendra les méthodes suivantes (les valeurs de retour et les paramètres éventuels sont à déterminer) : getwidth() retourne la largeur du rectangle (sur l'axe x) getheight() retourne la hauteur du rectangle (sur l'axe y) isin() détermine si un point se trouve à l'intérieur du rectangle move() permet de déplace le rectangle d'une certaine distance (en x et en y) union() retourne le plus petit rectangle englobant deux rectangles (le rectangle représenté par l'objet courant et un autre rectangle passé en paramètre) intersection() Facultatif retourne le rectangle représenté par l'intersection de deux rectangles (zone de superposition) : le rectangle représenté par l'objet courant et un autre rectangle passé en paramètre. L'intersection peut être vide si les deux rectangles n'ont pas de zones communes. tostring() equals() redéfinir la méthode (héritée de Object) pour qu'elle retourne des informations pertinentes concernent l'état du rectangle (par exemple sous la forme "Rectangle [x0, y0], [x1, y1]"). Utiliser redéfinir (@Override) la méthode (héritée de Object) pour qu'elle retourne true si les rectangles sont égaux (position et dimensions identiques). Écrire un programme de test pour valider le fonctionnement de la classe Rectangle (penser à tester aussi les situations particulières). y r1 x IHM1_S01.docx J. Bapst 3
4 6 Créer une classe Box qui spécialise la classe Rectangle et qui représente un rectangle que l'on peut afficher à l'écran. Ajouter pour cela les attributs suivants : l'épaisseur de la bordure (de type double) le type de ligne de la bordure (de type énuméré LineType) Créer le type énuméré LineType en tant qu'unité de compilation indépendante (hors de la classe) et définir les constantes PLAIN (continu), DASHED (traitillé) et DOTTED (pointillé). Dans la classe Box, définir les constructeurs nécessaires, ajouter les méthodes qui vous semblent utiles et redéfinir les méthodes tostring() et equals() héritées de la classe parente Rectangle. Compléter le programme de test précédemment écrit pour tester quelques objets de type Box. 7 Après avoir étudié l'api de la classe Color (javafx.scene.paint.color), créer une interface Colorable qui définit des méthodes permettant d'associer une couleur à un objet : paint() whatcolor() permet de définit la couleur de l'objet permet de connaître sa couleur (null si pas définie) L'interface Colorable comprendra également une méthode par défaut permettant d'inverser la couleur de l'objet (en associant la couleur complémentaire) : inversecolor() inverse la couleur actuellement définie (sans effet si aucune couleur n'est définie). Facultatif away() Ajouter à l'interface Colorable une méthode statique qui retourne la couleur possédant un contraste maximal avec une couleur donnée (celle qui est la plus éloignée d'elle dans l'espace colorimétrique RGB) : calcule la couleur la plus éloignée de la couleur passée en paramètre. 8 Adapter la classe Box pour qu'elle implémente l'interface Colorable. La couleur sera simplement enregistrée comme attribut de la classe. Compléter la méthode tostring() pour que les informations associées à la couleur du rectangle soient ajoutées à la chaîne de caractères retournée. 9 Adapter la classe Message pour qu'elle implémente aussi l'interface Colorable (un message coloré, n'est-ce pas sympathique?). Adapter les méthodes tostring() des quatre sous-classes de telle sorte que la méthode display() affiche, en complément, les informations associées à la couleur du message. 10 Créer, dans une nouvelle classe ColorTools, une méthode statique nommée paintall() permettant de colorier tous les objets contenus dans un tableau passé en paramètre avec une couleur déterminée (à passer également en paramètre). On aimerait notamment pouvoir colorier des objets de type Box, , Sms, Mms enregistrés dans le tableau passé en paramètre. QUESTION De quel type faut-il définir ce tableau? QUESTION Déclarer le tableau de type Object[] est certainement possible mais quelles en sont les implications? IHM1_S01.docx J. Bapst 4
5 11 Étudier la classe java.io.file et regarder comment on peut créer un objet de ce type connaissant le chemin d'accès à un fichier ou à un répertoire. Rechercher dans cette classe les méthodes permettant : de déterminer s'il s'agit d'un fichier ou d'un répertoire d'extraire le nom du fichier, avec et sans le chemin d'accès de déterminer la taille d'un fichier Expérimenter l'utilisation de cette classe en créant une classe TestFiles comprenant une méthode main() qui effectuera les opérations suivantes : Création de quelques objets de type File correspondant à des fichiers existants, non-existants et à des répertoires accessibles depuis votre machine. Test des méthodes permettant de déterminer si les fichiers existent, s'il s'agit de répertoires, de retrouver leur chemin d'accès complet, de déterminer leur taille (en bytes). 12 La classe File comprend une méthode list() qui permet de lister le contenu d'un répertoire. La méthode retourne un tableau de String contenant le nom des fichiers (ou sous-répertoires). Tester cette méthode en complétant la méthode main() de votre classe TestFiles. afin de lister le contenu d'un de vos répertoires. 13 Une surcharge de la méthode list(filenamefilter filter) prend en paramètre un filtre qui permet de ne lister que les fichiers qui passent le filtre. Le filtre est représenté par un objet qui doit implémenter l'interface fonctionnelle FilenameFilter. L'unique méthode abstraite de cette interface possède la signature suivante : boolean accept(file dir, String name) Si cette méthode retourne true pour le fichier dont le nom est name, il sera accepté et sera ajouté dans la liste retournée par la méthode list(), sinon, il sera ignoré. Pour créer le filtre, on doit donc implémenter une interface fonctionnelle, ce qui peut se faire de différentes manières : Par une classe 'ordinaire' qui implémente FilenameFilter, puis création d'une instance Par une classe anonyme Par une expression lambda Tester le fonctionnement de la méthode list() en ajoutant dans votre classe TestFiles l'affichage de différentes listes filtrées : Liste de tous les fichiers images (fichiers avec l'extension.jpg,.jpeg,.gif ou.png) Le filtre sera créé sous la forme d'une classe anonyme. Même filtre mais créé sous la forme d'une expression lambda. Facultatif Même filtre mais créé sous la forme d'une classe 'ordinaire'. QUESTION A votre avis, quelle est la meilleure variante? Pourquoi (avantages/inconvénients)? IHM1_S01.docx J. Bapst 5
Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailPolymorphisme, la classe Object, les package et la visibilité en Java... 1
Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailApprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)
Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les
Plus en détailProgrammation Objet - Cours II
Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à
Plus en détailLangage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2
Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailC++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement
C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit
Plus en détailProgrammation par les Objets en Java
Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détailRAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)
CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes
Plus en détailSage CRM. 7.2 Guide de Portail Client
Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailChapitre 2. Classes et objets
Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons
Plus en détailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Plus en détailJAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.
Analyste et développeur pendant plus de 10 ans, Thierry GROUSSARD s est ensuite orienté vers la formation et plus particulièrement dans le domaine du développement. Sa connaissance approfondie des besoins
Plus en détailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Plus en détailJava 7 Les fondamentaux du langage Java
184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque
Plus en détailbasée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailLMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Plus en détailUML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr
Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année 2014-2015 UML Diagrammes de classes (suite) Delphine Longuet delphine.longuet@lri.fr Opérations Opérations Service qui peut
Plus en détailGénéralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code
Généralités javadoc Université de Nice - Sophia Antipolis Richard Grin Version 1.4.1 8/2/11 javadoc produit de la documentation en partant de commentaires particuliers insérés dans le code source des classes
Plus en détailService de réplication des données HP pour la gamme de disques Continuous Access P9000 XP
Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP Services HP Care Pack Données techniques Le service de réplication des données HP pour Continuous Access offre
Plus en détailPrésentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...
Au programme Conception Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Présentation L UE COO est le prolongement immédiat de l UE POO du S4 informatique. cf. http://portail.fil.univ-lille1.fr/portail/ls4/poo
Plus en détailUniversité de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Plus en détailFacultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object
Facultés Universitaires Notre-Dame de la Paix Conception et Programmation Orientées- Object 2008-2009 RÉSUMÉ PRATIQUE... 4 CLASSE OBJET... 4 NOTION D HÉRITAGE... 4 LE POLYMORPHISME... 5 LES CLASSES ABSTRAITES...
Plus en détailTp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailClasse Interne, Anonyme & Enumération
Java Avancé Classe Interne, Anonyme & Enumération Rémi Forax forax@univ-mlv.fr 1 Rappel Nous nous intéressons aujourd'hui à deux formes de type abstrait en Java Les interfaces Les classes abstraites Les
Plus en détailDiagnostic adaptatif d'un flux d'alarmes par méta diagnostic distribué Application à la détection d'intrusions dans un serveur Web
LogAnalyzer Thomas Guyet 1,2, René Quiniou 2 et Marie Odile Cordier 3 1 AGROCAMPUS OUEST 2 INRIA/IRISA Centre de Rennes (Équipe DREAM) 3 Université de Rennes/IRISA (Équipe DREAM) Contact : thomas.guyet@irisa.fr
Plus en détailLambda! Rémi Forax Univ Paris-Est Marne-la-Vallée
Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant
Plus en détailAlfresco Guide Utilisateur
Alfresco Guide Utilisateur ATELIER TECHNIQUE DES ESPACES NATURELS - 1 Table des matières Alfresco Guide Utilisateur...1 Accéder à la GED de l'aten...3 Via un client FTP...3 Onglet Général...3 Onglet Avancé...3
Plus en détailHéritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
Plus en détailLOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1
LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1 L. POINSOT Contact client : Laurent Poinsot (laurent.poinsot@lipn.univ-paris13.fr) Résumé : Ce document est le cahier des charges du projet INFO 1.
Plus en détailAnne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2
Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailMobyt Intégration HTTP TABLE DES MATIERES
Mobyt Intégration HTTP TABLE DES MATIERES INTRODUCTION... 2 FORMAT DES PARAMETRES... 2 ENVOI DE SMS... 3 ÉTAT DES MESSAGES... 4 ANNULATION DES ENVOIS PROGRAMMÉS... 5 HISTORIQUE DES MESSAGES... 5 CRÉDIT
Plus en détailMobyt Intégration par Webservice TABLE DES MATIERES
Mobyt Intégration par Webservice TABLE DES MATIERES INTRODUCTION... 2 CONFIGURATION DE LA LIBRAIRIE... 2 ENVOI DE SMS... 3 ÉTAT DES MESSAGES... 4 HISTORIQUE DES MESSAGES... 5 CRÉDIT SMS DISPONIBLE... 6
Plus en détailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
Plus en détailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement
Plus en détailOutils de traitements de logs Apache
Outils de traitements de logs Apache 1) Anonymisation des logs 2) Outil visuel d'exploration des données 3) Adaptation d'un robot 1 Anonymisation des logs Objectifs : Anonymiser les logs du point de vue
Plus en détailDiagramme de classes
Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :
Plus en détailGESTION DES BONS DE COMMANDE
GESTION DES BONS DE COMMANDE P1 P2 Table des Matières LA GESTION DES BONS DE COMMANDE 4 PREMIERE EXECUTION DU LOGICIEL 5 DEFINITION DES PARAMETRES 8 Services 9 Comptes Utilisateurs 10 Adresse de livraison
Plus en détailTutoriel d'utilisation du logiciel Thunderbird version 2.0
Tutoriel d'utilisation du logiciel Thunderbird version 2.0 par Estyaah Tutoriel sur l'utilisation de Thunderbird 2.0 pour Windows Estyaah -1- Introduction 1 Présentation 2 Utilisation Basique 2-1 - Installation
Plus en détail2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE
2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance
Plus en détailPrésentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)
Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Introduction Les modèles d'omt Le Modèle Objet (MO) Le Modèle
Plus en détail1.3 Gestion d'une application
1.3 Gestion d'une application 1. Un premier projet... Il est temps maintenant d'écrire la véritable première application Android avec l'inévitable affichage du mot bonjour, ce qui évidemment pour un développement
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détailLe modèle de données
Le modèle de données Introduction : Une fois que l étude des besoins est complétée, deux points importants sont à retenir : Les données du système étudié Les traitements effectués par le système documentaire.
Plus en détailOutils, langage et approche Android Une introduction. Nicolas Stouls nicolas.stouls@insa lyon.fr
Outils, langage et approche Android Une introduction Nicolas Stouls nicolas.stouls@insa lyon.fr Webographie La bible contenant «tout» : http://developer.android.com/index.html Les supports cette intervention
Plus en détail2 e édition JAVA 5 et 6. Jérôme Bougeault. TSoft et Groupe Eyrolles, 2003, 2008, ISBN : 978-2-21212250-3
2 e édition JAVA 5 et 6 Jérôme Bougeault TSoft et Groupe Eyrolles, 2003, 2008, ISBN : 978-2-21212250-3 Classes et objets Les constructeurs Propriétés Les méthodes L héritage Les interfaces Les relations
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailJava Licence professionnelle CISII, 2009-2010
Java Licence professionnelle CISII, 2009-2010 Cours 6 : le paquetage (package) Cours inspiré des cours de Richard Grin, Antoine Tabbone et Hazel Everett 1 Définition - Les classes Java sont regroupées
Plus en détailClasses et Objets en Ocaml.
Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.
Plus en détailProgramme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Plus en détailSeance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.
Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece
Plus en détailPG208, Projet n 3 : Serveur HTTP évolué
PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif
Plus en détailJava Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets
Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper
Plus en détailGOL-502 Industrie de services. Travaux Pratique / Devoir #7
GOL-502 Industrie de services Travaux Pratique / Devoir #7 Version 2012 Modélisation à l'aide du langage UML 1) Diagramme de cas d'utilisation 2) Diagramme de classes 3) Diagramme de séquence 4) Diagramme
Plus en détailCours de Génie Logiciel
Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes
Plus en détailPHP 5.4 Développez un site web dynamique et interactif
Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................
Plus en détailé n e r g i e c r é a t i v e Solution E-mailing Renforcez le pouvoir de communication de votre entreprise
é n e r g i e c r é a t i v e Solution E-mailing de votre entreprise Présentation Rapports et analyses ven MON 14 Planification de campagne Automatisation de campagnes Gestion de liste et segmentation
Plus en détailInfo0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java
Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan
Plus en détailTP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
Plus en détailObjets et Programmation. origine des langages orientés-objet
Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève
Plus en détailProjet de Veille Technologique
Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...
Plus en détailPage 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>
Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances
Plus en détailComment retrouver le fichier "bingo" sauvegardé dans l'ordinateur? Socle commun
Objectifs Auto- Evaluation Socle commun Technologie Expliquer comment sont stockées les informations dans un ordinateur. o IV-2 Recenser des données, les classer, les identifier, les stocker, les retrouver
Plus en détailConfiguration d'un annuaire LDAP
Le serveur Icewarp Configuration d'un annuaire LDAP Version 10.3 Juillet 2011 Icewarp France / DARNIS Informatique i Sommaire Configuration d'un annuaire LDAP 1 Introduction... 1 Qu'est-ce que LDAP?...
Plus en détailLANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Plus en détailProjet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
Plus en détailManuel d utilisation email NETexcom
Manuel d utilisation email NETexcom Table des matières Vos emails avec NETexcom... 3 Présentation... 3 GroupWare... 3 WebMail emails sur internet... 4 Se connecter au Webmail... 4 Menu principal... 5 La
Plus en détailGénérer du code à partir d une description de haut niveau
Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailCours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr
Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailGestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
Plus en détailI. Introduction aux fonctions : les fonctions standards
Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons
Plus en détailIntroduction MOSS 2007
Introduction MOSS 2007 Z 2 Chapitre 01 Introduction à MOSS 2007 v. 1.0 Sommaire 1 SharePoint : Découverte... 3 1.1 Introduction... 3 1.2 Ce que vous gagnez à utiliser SharePoint... 3 1.3 Dans quel cas
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailEXA1415 : Annotations JavaEE : @Local, @Stateful
EXA1415 : Annotations JavaEE : @Local, @Stateful Sur une idée de P. Sécheresse sur http://developpez.com (http://tinyurl.com/5gr57j) Diapo 1 Objectif Créer un EJB CalculatriceBean (V1) Contient une opération
Plus en détailSommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et
Licence 3 CDA 2010/2011 Client FTP Java Maxence Jaouan Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Windows?...
Plus en détailArchitecture d'entreprise : Guide Pratique de l'architecture Logique
Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam
Plus en détailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détailTélécom Nancy Année 2013-2014
Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON
Plus en détail