Bruno Bouzy. 27 mai 2003
|
|
|
- Armand Clermont
- il y a 9 ans
- Total affichages :
Transcription
1 TP JAVA Bruno Bouzy 27 mai 2003 Ce document est un sujet de TP de Java qui peut être associé ou bien à un cours de Java ou à cours de Génie Logiciel. Il a été mis au point suite aux enseignements de Java et Génie Logiciel donné en MIAIF2, MST1 et 2, IASV et licence d informatique à l Ufr de Mathématiques et Informatique de l université Paris 5 entre 1997 et aujourd hui. Dans le cadre d un module de Génie Logiciel l objectif visé est : l écriture d un programme simple pour un utilisateur, la programmation d un modèle UML très simple, la mise en œuvre d associations entre instances. et l objectif visé n est pas : l utilisation d outils de gestion de base de données. Dans le cadre d un cours de Java, l objectif visé est la maîtrise de concepts Java suivants : contenu d une classe, constructeur, références, propriété de classe (mot-clé static) ou propriété d instance, la classe String et la classe Vector, chargement et sauvegarde sur fichiers. et les points suivants ne sont pas abordés : visibilité des propriétés, encapsulation des données, généralisation, héritage, redéfinition, utilisation d un environnement de programmation Java. Prérequis : connaissance du C ou C++, de UML éventuellement, un compilateur Java, ici javac, un interpréteur Java, ici java du JDK. Ce document contient : un bref modèle UML du programme final Stade, un TP premiers pas, un TP créer détruire des instances avec interaction utilisateur, un TP associer dissocier des instances avec interaction utilisateur, un TP charger sauver des instances sur fichier. Bruno Bouzy TP Java page 1 27/05/03
2 SPECIFICATION UML Introduction Ce document est le résumé des Spécifications des Besoins du Logiciel STADE. Rappels : les diagrammes globaux du logiciel STADE Diagramme de généralisation : Object Stade Joueur But Ballon (nb : ce diagramme est donné à titre de complétude car la généralisation, ici en râteau, est simplissime) Diagrammes de classes Stade 0..1 * 2 Ballon Joueur But Ballon possession< 0..1 * Joueur 0..1 entrée-sortie> 0..1 marque< But * (nb : un joueur peut posséder le ballon qui peut être possédé par plusieurs joueurs (une mêlée?), un ballon peut être dans un but qui contient éventuellement un ballon, un joueur peut marquer entre 0 et plusieurs buts, un but est marqué par un joueur exactement). Bruno Bouzy TP Java page 2 5/27/03
3 TP JAVA PREMIERS PAS Créer une mini-application avec une seule classe Le but de ce paragraphe est d être capable d écrire un programme qui saisit des informations et les affiche. Créer un fichier stade.java et écrire le contenu suivant dans le fichier stade.java : class Stade { public static void main (String args[]) { System.out.println("Projet stade"); Pour afficher des informations à l écran, Java dispose de la méthode println() de la classe Out. Que voyez-vous à l exécution? Si la fenêtre d exécution disparaît immédiatement après son apparition, insérer le fichier Keyboard.java dans votre projet et rajouter la méthode Keyboard.pause à la fin du programme: public static void main (String args[]) { System.out.println("Projet stade"); Keyboard.pause(); Saisir des informations sur l entrée standard Pour saisir des informations au clavier, Java dispose de la classe In. Mais celle-ci est compliquée pour être utilisée telle quelle. Modifier la méthode main() comme suit : class Stade { public static void main (String args[]) { System.out.println("Projet stade"); System.out.println("Taper une chaine de caracteres:"); String s = Keyboard.getString(); System.out.println("La chaine lue est:\n<"+s+">"); System.out.println("Taper un entier:"); int i = Keyboard.getInt(); System.out.println("Le double de l entier lu est:" + 2*i); Keyboard.pause(); Maintenant vous savez faire un programme qui lit une chaîne de caractères ou un entier sur l entrée standard et qui affiche une chaîne de caractères sur la sortie standard. Bruno Bouzy TP Java page 3 5/27/03
4 Créer une mini-application avec 2 classes Le but de ce paragraphe est d être capable d écrire un programme qui comprend 2 classes : une classe utilisatrice, la classe Stade, et une classe utilisée, la classe Joueur. La classe utilisatrice lit des informations sur les propriétés d une instance à créer ; elle crée l instance avec ses propriétés ; elle imprime l instance sur la sortie standard. On suppose que la classe Joueur est définie comme suit : Joueur int age String nom Joueur(String n, int a) tostring() : String Joueur(String n, int a) est un constructeur avec 2 arguments, le premier pour valoriser l attribut nom et le second pour valoriser l attribut age. tostring() est la redéfinition dans Joueur de la méthode tostring() définie dans la classe Object. Créer un fichier Joueur.java qui correspond à la spécification UML ci-dessus. Afin de tester la classe Joueur, modifier le programme principal comme suit : public static void main (String args[]) { System.out.println("Projet stade"); System.out.println("Tapez un nom :"); String s = Keyboard.getString(); System.out.println("Tapez un age :"); int a = Keyboard.getInt(); Joueur j = new Joueur(s, a); System.out.println("Joueur j cree." + j); Keyboard.pause(); Remarquer que le programme demande d abord le nom et l age du joueur à l utilisateur, puis connaissant les valeurs du nom et de l âge, il crée une instance en appelant le constructeur de la classe Joueur avec ces valeurs. Maintenant vous savez faire un programme qui lit des propriétés d une instance d une classe, qui crée l instance et qui l affiche. Bruno Bouzy TP Java page 4 5/27/03
5 TP JAVA : CREER DETRUIRE INSTANCE AVEC INTERACTION UTILISATEUR Introduction Ce TP reprend la suite du TP dans lequel le programme principal permettait de créer un joueur en demandant à l utilisateur de taper le nom et l âge du joueur au clavier. Ici, nous remplaçons un joueur par des ballons. Nous allons créer une classe Ballon avec laquelle l utilisateur pourra non seulement créer des ballons identifiés par une String, mais aussi les afficher et les détruire. Il va donc être nécessaire d avoir un menu demandant l action a effectuer (créer, détruire ou afficher) et un conteneur contenant les instances créées par l utilisateur. Le conteneur d instances va être de type Vector, et va être un attribut de classe (mot-clé static). Cette classe est définie dans le package java.util. Afficher un menu, saisir le choix de l utilisateur Ecrire un programme qui affiche le menu ci-dessous, prend la commande de l utilisateur au clavier, affiche un message «choix n» (n=1,2,3,0) et recommence tant que l utilisateur ne veut pas quitter le programme. 1. créer un ballon 2. détruire un ballon 3. afficher la liste des ballons 0. quitter Créer une instance par l intermédiaire du clavier et de l écran Enrichir le programme du TP précédent en remplaçant l affichage «choix 1» par l appel à la méthode creer_une_instance() de la classe Ballon. Pour cela, on pourra avoir une interface de la classe Ballon du type suivant : class Ballon { public String identificateur; // identifier un ballon public int taille; // taille du ballon public Ballon(String s, int t) { // constructeur public String tostring() { // l instance en string public static Ballon creer_instance() { // dialogue puis new Bruno Bouzy TP Java page 5 5/27/03
6 String identificateur est un attribut permettant d identifier de manière unique une instance de la classe Ballon. taille est un attribut descriptif d une instance de la classe Ballon. Ballon(String s, int t) est le constructeur d une instance de la classe Ballon. On suppose que l on connaît l identificateur et la taille du ballon avant de l appeler. On passe en paramètres l identificateur et la taille du ballon à créer. tostring() est la méthode de transformation d une instance en string. Par exemple, pour une instance dont l identificateur vaut biengonflé et dont la taille vaut 4, tostring() peut donner par exemple : identificateur = biengonflé taille = 4 Ballon creer_une_instance() est la fonction qui contient les appels à Keyboard.getString(), Keyboard.getInt(), Ballon(String, int) et tostring(). Elle est appelée lorsque l utilisateur tape 1 dans le menu Ballon. Elle fait exactement ce que faisait le programme principal du TP précédent. Afficher les instances à l écran Enrichir le programme précédent en remplaçant l affichage choix 3 par l affichage du vecteur des instances de la classe Ballon. Pour cela, on ajoutera un attribut de classe mesinstances à la classe Ballon. On pourra utiliser les classes prédéfinies dans le paquetage java.util disponible en Java: class Ballon { public static Vector mesinstances = new Vector() ;... Dans ce cas se reporter à la description de ces classes dans la documentation en ligne de Java. Pour utiliser correctement mesinstances, on fera alors par exemple : ajouter une instance dans mesinstances dans le constructeur : mesinstances.addelement(this); enlever une instance de mesinstances dans le destructeur : mesinstances.removeelement(this); Bruno Bouzy TP Java page 6 5/27/03
7 Détruire une instance par l intermédiaire du clavier et de l écran Enrichir le programme précédent en remplaçant l affichage choix 2 par l appel à la fonction membre detruire_une_instance() de la classe Ballon. Pour cela, on pourra ajouter les membres suivants à la classe Ballon : class Ballon { public void detruire() { // destructeur public static Ballon getinstance(string s) {//retourne le ballon public static boolean detruire_instance() { // dialog + detruire detruire() est le destructeur d une instance de la classe Ballon. NB : les destructeurs n existent pas en Java. Cependant, pour plus de clarté, detruire(), qui enlève la référence à l instance, correspond à un destructeur. Ballon getinstance(string s) est la fonction qui retourne l instance de la classe Ballon possédant un identificateur égal à la String passée en paramètre. Elle est appelée à chaque fois que l on cherche une instance connaissant son identificateur. Elle retourne null si aucune instance ne correspond à la String passée en paramètre. boolean detruire_une_instance() est la fonction qui contient les appels à Keyboard.getString(), getinstance(), detruire() et retourne true si la destruction est faite et false sinon. Elle est appelée lorsque l utilisateur tape 2 dans le menu Ballon. Bruno Bouzy TP Java page 7 5/27/03
8 TP JAVA ASSOCIER DISSOCIER AVEC INTERACTION UTILISATEUR Introduction Ce TP reprend la suite du TP dans lequel l utilisateur pouvait créer, détruire, afficher les instances d une classe (la classe Ballon). Ici, nous allons permettre en plus à l utilisateur d associer et dissocier des instances appartenant à des classes différentes. Pour cela, il nous faut plusieurs classes et un menu général permettant de diriger l utilisateur vers la classe de son choix. Ce TP suppose qu une classe But et que la classe Joueur ont été construites sur le principe de la classe Ballon. Pour commencer, il y a donc une partie importante d édition et de couper-coller à faire dans ce TP. Ce TP suppose aussi que la classe Vector est connue (cf TP précédent). Ensuite seulement, la partie intéressante du TP (associer, dissocier des instances) pourra être abordée. Plusieurs classes... Ecrire un programme qui gère plusieurs classes. Par exemple les classes Joueur, Ballon et But. On pourra identifier un but par la minute a la quelle il a été marqué et on pourra décrire un but avec la distance à laquelle il a été marqué. public int minute; public int distance; Le programme affichera le menu ci-dessous : 1. Joueur 2. Ballon 3. But 0. Quitter Puis, par exemple, si l utilisateur a tapé 2, il affichera le menu : 1. créer un ballon 2. détruire un ballon 3. afficher tous les ballons 0. précédent Associer deux instances une à une Enrichir le programme précédent en rajoutant la ligne suivante dans les menus Ballon et But : 4. associer un ballon à un but. Bruno Bouzy TP Java page 8 5/27/03
9 En particulier, on ajoutera un attribut et deux méthodes à la classe Ballon : public But monbut; public static void associer_but_instance() { // dialog + associer public void associer_but(but b) { // assoc ballon but Analogue pour la classe But : public Ballon monballon; public static void associer_ballon_instance() { //dial + assoc public void associer_ballon(ballon b) { // assoc but ballon Associer une instance avec plusieurs instances Enrichir le programme précédent en rajoutant la ligne suivante dans le menu Ballon : 5. associer un ballon à des joueurs. Et la ligne suivante dans le menu Joueur: 5 associer un joueur à un ballon. En particulier, on ajoutera un attribut a la classe Ballon : public Vector mesjoueurs = new Vector(); Et un attribut à la classe Joueur : public Ballon monballon ; Remarquer qu il est nécessaire d utiliser un attribut de type Vector dans la classe Ballon pour associer des joueurs et un ballon car la spécification du projet STADE indique que l ordre de multiplicité de l association est 0..*. Par contre, cela n est pas nécessaire dans l autre sens. Dissocier des instances Enrichir le programme précédent en rajoutant la ligne suivante dans le menu Ballon : 6. dissocier un ballon d un joueur. Et la ligne suivante dans le menu Joueur: 6 dissocier un joueur d un ballon. Compléter votre programme pour que tout lien puisse être dissocié. Bruno Bouzy TP Java page 9 5/27/03
10 Imprimer des instances avec leurs liens Pour visualiser les instances, on imprimera toujours les attributs intrinsèques (nom et age pour un Joueur). De plus, si un lien n est pas nul (par exemple if (monbut!=null)), on imprimera l identificateur du lien (monbut.minute). Pour afficher un Ballon, on pourra écrire et utiliser une méthode de classe String Ballon.deMesJoueursAString() retournant la String concaténation des noms des joueurs du vecteur mesjoueurs. Rendre le programme correct, robuste et plus facile à utiliser A ce niveau du TP, vous avez une première version du programme qui permet de créer, détruire, associer, dissocier et afficher les instances, sans plus. Vous pouvez rendre robuste votre programme en vérifiant les tests suivants : créer et associer des instances, détruire l une d elle. afficher les instances non détruites. Que se passe-t-il? Corriger le programme. associer une instance avec une instance déjà associée : le programme doit refuser l association si elle est un-à-un. l utilisateur veut détruire, associer ou dissocier une instance, le programme propose-t-il une liste des instances possibles? Si la réponse est négative, améliorer le programme pour qu il propose des listes d instances à l utilisateur lorsque cela est nécessaire. Bruno Bouzy TP Java page 10 5/27/03
11 TP JAVA CHARGER SAUVER SUR FICHIER Introduction Ce TP reprend la suite du TP dans lequel l utilisateur pouvait créer, détruire, associer, dissocier des instances de différentes classes. A chaque session, l utilisateur devait repartir de zéro. S il avait créé des instances à la session précédente, il ne les retrouvait pas à la session suivante. Le but de ce TP est donc de sauver et charger sur fichier les informations contenues dans une classe. Ainsi, au début du nouvelle session, l utilisateur pourra repartir des données de la fin de la session précédente. Ici, on suppose que la classe Ballon contient des ballons. public class Ballon{ public static Vector mesinstances = new Vector() ; public String identificateur; public int taille; public But monbut; Ouvrir et écrire dans un fichier les instances d une classe Pour ouvrir un fichier (et pouvoir y écrire des informations de manière souple ensuite), on appelle successivement des constructeurs des classe FileWriter, BufferedWriter et PrintWriter. Pour écrire effectivement dans le fichier, on utilise la méthode println(). public static void sauvefichier() throws IOException { FileWriter fw = new FileWriter("Ballon.txt"); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); for (int i = 0; i<mesinstances.size(); i++) { Ballon b = (Ballon) mesinstances.elementat(i); pw.println(b.identificateur + " " + b.taille + " " + ((b.monbut!=null)? String.valueOf(b.monBut.minute) : "-1") ); pw.close(); Lire un fichier contenant les instances d une classe On suppose que le fichier texte Ballon.txt contient les deux lignes suivantes : biengonfle toutmou 1 26 (Un ballon d identificateur biengonfle de taille 12 lié au but marqué à la 13 ème minute et un ballon toutmou de taille 1 lié au but marqué à la 26 ème minute). Pour ouvrir ce fichier (et pouvoir y lire des informations de manière souple ensuite), on appelle successivement le constructeur des classes File et StreamTokenizer. Pour lire le fichier, on utilise essentiellement la méthode nexttoken()et l attribut nval de la classe StreamTokenizer. Bruno Bouzy TP Java page 11 5/27/03
12 public static void chargefichierinstance() throws IOException { FileReader fr; try { fr = new FileReader("Ballon.txt"); catch (FileNotFoundException e) { return; StreamTokenizer st = new StreamTokenizer(fr); String s; int t; boolean encore = true; while (encore) { if (st.nexttoken()==streamtokenizer.tt_word) { s = st.sval; if (st.nexttoken()==streamtokenizer.tt_number) { t = (int) st.nval; Ballon b = new Ballon(s, t); if (st.nexttoken()!=streamtokenizer.tt_number) encore = false; else encore = false; else encore = false; fr.close(); Noter que cet exemple ne tient pas compte de la minute du but éventuel. Intégrer les chargement et sauvegarde d objets sur fichiers avec les TP précédents Mettre au point un programme qui charge Ballon.txt et crée les instances de la classe Ballon, dialogue avec l utilisateur (cf. TP précédents), enfin écrit les instances de la classe Ballon dans le fichier Ballon.txt. Pour cela, rajouter la sauvegarde du fichier à la fin du programme: // sauvegarde des instances Ballon.sauveFichier(); Rajouter le chargement du fichier au début du programme : // chargement des instances Ballon.chargeFichierInstance(); Mettre au point ce programme en enrichissant le fichier Ballon.txt à chaque exécution avec de nouvelles données. Ecrire/Lire des fichiers contenant des instances associées de classes différentes Lorsque les instances des classes Ballon, But et Joueur sont associées entre elles, il faut une première passe de lecture des fichiers en construisant les instances sans les associations, puis une deuxième passe sans la construction mais avec les associations. Par exemple, le début du main() contient : // chargement des instances Ballon.chargeFichierInstance(); Joueur.chargeFichierInstance(); But.chargeFichierInstance(); // chargement des liens But.chargeFichierLienJoueur(); Joueur.chargeFichierLienBallon(); Ballon.chargeFichierLienBut(); Bruno Bouzy TP Java page 12 5/27/03
13 et la fin contient : // sauvegarde des instances et des liens Joueur.sauveFichier(); Ballon.sauveFichier(); But.sauveFichier(); Dans la classe Ballon, on peut définir le chargement des liens entre ballons et buts : public static void chargefichierlienbut() throws IOException { FileReader fr; try { fr = new FileReader("Ballon.txt"); catch (FileNotFoundException e) { return; StreamTokenizer st = new StreamTokenizer(fr); String s; int t; int b; boolean encore = true; while (encore) { if (st.nexttoken()==streamtokenizer.tt_word) { s = st.sval; if (st.nexttoken()==streamtokenizer.tt_number) { t = (int) st.nval; if (st.nexttoken()==streamtokenizer.tt_number) { b = (int) st.nval; if (b!=-1) { But bu = But.getInstance(b); Ballon ba = Ballon.getInstance(s); bu.monballon = ba; ba.monbut = bu; else encore = false; else encore = false; else encore = false; fr.close(); Noter que cette fonction suppose les instances déjà chargées. Elle est appelée après le chargement des instances. Noter aussi que globalement les fichiers Ballon.txt Joueur.txt et But.txt contiennent tous les liens nécessaires au chargement, mais que individuellement il ne contiennent pas tous les liens. Par exemple, Ballon.txt contient les liens éventuels vers les buts et pas vers les joueurs. Les liens joueur-ballon sont contenus dans le fichier Joueur.txt. En plus du fichier ballon.txt déjà donné avant, voici un exemple de fichiers texte sauvegardés : But.txt : zidane henry vieira Joueur.txt: zidane 30 biengonfle henry 25 toutmou wiltord 28 biengonfle vieira 26 toutmou Bruno Bouzy TP Java page 13 5/27/03
Exceptions. 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
TP 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
Tp 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
Licence 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
TP, première séquence d exercices.
TP, première séquence d exercices. Benoît Valiron [email protected] 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la
Introduction à 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
Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. [email protected]
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 [email protected] LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Premiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Java Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
TP1 : 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
TD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Flux de données Lecture/Ecriture Fichiers
Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d
ACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
RMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Package Java.util Classe générique
Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object
Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
INTRODUCTION 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
Cours 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/
Java 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)
Corrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Structure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting
IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances
Chapitre 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],
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) 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
Programmation 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
Langage 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 [email protected]
Programmation avec des objets : Cours 7. Menu du jour
1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes
Page 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
Projet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Cours 14 Les fichiers
Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une
Le langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Programmation Réseau. Sécurité Java. [email protected]. UFR Informatique 2012-2013. jeudi 4 avril 13
Programmation Réseau Sécurité Java [email protected] UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie
Remote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plan 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
Java DataBaseConnectivity
Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage
Programme Compte bancaire (code)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public
LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. [email protected] www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour [email protected] www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Programmation Par Objets
Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets
Algorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Langage 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
INITIATION 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
as Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
RAPPELS 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
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
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..............................
Programmation Objet Java Correction
INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le
Gestion 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
Pré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
Bases 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
PROGRAMMATION PAR OBJETS
PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 [email protected] B. Carré Polytech Lille 2 Java (Sun 1995)
Une introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Aide mémoire UML & Java 1ère partie : Introduction. [email protected]
Aide mémoire UML & Java 1ère partie : Introduction [email protected] 9 septembre 2014 1 2014 v1.11 Table des matières 1 Généralités 6 1.1 Notations utilisées.....................................
Solutions du chapitre 4
Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (
Serveur d'archivage 2007 Installation et utilisation de la BD exist
Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier
Utilisation 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
Apprendre Java en 154 minutes
Apprendre Java en 154 minutes Tutorial Java 1.6 - HESB-TI Stéphanie Calderara José R. Beuret Quentin Cosendey Mai 2008 Table des matières 1 Objet, classe et modificateur 3 1.1 Le premier pas..........................
Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN : 978-2-212-12648-8
Anne Tasso Java Le livre de premier langage 6 e édition Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN : 978-2-212-12648-8 Table des matières Avant-propos Organisation de l ouvrage..............................
Chapitre 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
SHERLOCK 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
Développement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
Pour 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
TP Programmation Java / JDBC / Oracle
TP Programmation Java / JDBC / Oracle 1. Connectivité avec une base de données Oracle au travers de l interface JDBC L interface de programmation (API) JDBC (Java DataBase Connectivity) est une librairie
Java 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
Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Langage 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
Présentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;
s Introduction Naissance d'un programme Exercice I-1: Apprendre à décomposer une tâche en sous-tâches distinctes a. Objets nécessaires : 1 tableau, 1 clou, 2 pointes, 1 ficelle, 1 marteau, 1 crayon, 1
TD/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
Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET
ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET I. INTRODUCTION 1.1. HISTORIQUE 1991: Concepts Java pour Sun -conception d'un langage pour des appareils électroniques(code embarqué) -syntaxe proche du C++
Java c est quoi? Java pourquoi?
Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 [email protected] Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig [email protected] - [email protected] Qu est-ce que la programmation? Programmer Ecrire un
Programmation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Java 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
1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Utiliser Java sans BlueJ
Conception objet en Java avec BlueJ une approche interactive Utiliser Java sans BlueJ Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Conception objet en Java avec BlueJ une approche
LES REGLEMENTS AVEC SOCIEL.NET DERNIERE MISE A JOUR : le 14 juin 2010
LES REGLEMENTS AVEC SOCIEL.NET DERNIERE MISE A JOUR : le 14 juin 2010 Guillaume Informatique 10 rue Jean-Pierre Blachier 42150 La Ricamarie Tél. : 04 77 36 20 60 - Fax : 04 77 36 20 69 - Email : [email protected]
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Synchro et Threads Java TM
Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire
Chapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Initiation à Excel. Frédéric Gava (MCF) [email protected]
Initiation à Excel Frédéric Gava (MCF) [email protected] LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Plan de cette année
Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5
UNIVERISTE MOHAMMED PREMIER Faculté des Sciences d Oujda Oujda - Maroc Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 Pr. El Mostafa DAOUDI Département de Mathématiques
Programmation Orientée Objet
Programmation Orientée Objet Mohamed Tounsi Institut Supérieur d'informatique et de Multimédia Sfax Septembre 2014 Mohamed Tounsi (ISIMS) Programmation Orientée Objet Septembre 2014 1 / 16 Responsable
Java Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd [email protected] Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
Environnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut [email protected] http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
STAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
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
Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Interfaces graphiques avec l API Swing
Interfaces graphiques avec l API Swing Les Swing Les classes graphiques Swing dérivent de la classe JComponent, qui hérite ellemême de la classe AWT (Abstract Window Toolkit). Tous les composants Swing
Lambda! 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
INF 321 : mémento de la syntaxe de Java
INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2
1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Cours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Notions fondamentales du langage C# Version 1.0
Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage
Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.
Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de
Objets 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
La base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Chapitre 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
RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
Java 1.5 : principales nouveautés
Cours 6 - TEP - UPMC - 2008/2009 p. 1/34 Java 1.5 : principales nouveautés classes paramétrées : generics encapsulation des valeurs de types primitifs : auto[un]boxing itération sur les boucles types énumérés
