UNE APPLICATION ORIENTÉE OBJET MODÉLISATION ET PROGRAMMATION
|
|
- Chantal Beaudin
- il y a 8 ans
- Total affichages :
Transcription
1 UNE APPLICATION ORIENTÉE OBJET MODÉLISATION ET PROGRAMMATION Patrick Bellot Télécom ParisTech telecom-paristech.fr
2 Une Calculatrice Électronique 2
3 3 Notation polonaise inversée Notation infixée : (2 + 3) * (5 / 2) Notation préfixée : * / 5 2 Notation postfixée : / * Les notations préfixées et postfixées nous dispensent de l usage des parenthèses.
4 Notation polonaise inversée La calculatrice gère une pile de nombres et d opérations. Pour évaluer une expression, on empile ses différents items tels qu ils apparaissent en notation postfixées. (22 + 3) * (5 / 2) s écrit / * en notation postfixée. Si on lit la pile de haut en bas, lecture normale pour une pile, on a l expression en notation préfixée. Nous verrons qu une expression en notation préfixée est très facile à décoder. 4
5 Fonctionnement de la Calculatrice Électronique 5
6 6 Fonctionnement de la Calculatrice Électronique Boutons 1 à 9 : inscrit le chiffre dans le champ d entrée. Bouton Backspace : efface le dernier caractère du champ d entrée. Bouton +/- : change le signe du nombre dans le champ d entrée. Bouton Push value : empile le contenu du champ d entrée et l efface. Bouton Push "op" : empile l opération correspondante. Bouton Pop one : supprime le dernier élément empilé. Bouton Clear all : nettoie la pile et le champ d entrée. Bouton Quit : termine l application. Bouton Eval top : évalue l expression décrite par le premier élément de la pile et la remplace par sa valeur. Si l évaluation se passe mal, un message d erreur est empilé.
7 7 Modélisation orientée objet 1. Les expressions (déjà vu mais on y revient). 2. L interface : (a) l arrangement des composants ; (b) la programmation des comportements.
8 8 Les packages répertoire JCALC répertoire principal de l application contient le Makefile contient Main.java répertoire de compilation et d exécution peut être déplacé répertoire JCALC/EXPRESSIONS répertoire du package EXPRESSIONS contient les classes des expressions répertoire JCALC/INTERFACE répertoire du package INTERFACE contient les classes de l interface
9 9 Le Makefile JDK_VERSION = # The JDK base classes JDK_CLASSES = /usr/local/jdk$(jdk_version)/lib/classes.zip # Compiling Compiling Java classes in $$PWD javac -classpath $$PWD:$(JDK_CLASSES) $$PWD/Main.java Running with JDK -classpath $$PWD:$(JDK_CLASSES) Main -rf./*~./*/*~ -rf./*~./*/*~./*.class./*/*.class
10 10 Les expressions Expression (a) Constant Operation (a) Addition Modulo Substraction Division Multiplication
11 11 La classe Expression package EXPRESSIONS ; import java.lang.* ; public abstract class Expression { protected abstract int eval() ; public String evaluation() { return Integer.toString(eval()) ;
12 12 La classe Constant package EXPRESSIONS ; public class Constant extends Expression { private int valeur ; public Constant(int v) { valeur = v ; protected int eval() { return valeur ;
13 13 La classe Operation package EXPRESSIONS ; public abstract class Operation extends Expression { protected Expression leftop, rightop ; public Operation(Expression left, Expression right) { leftop = left ; rightop = right ;
14 14 La classe AEddition package EXPRESSIONS ; public class Addition extends Operation { public Addition(Expression left, Expression right) { super(left,right) ; // appel créateur de la superclasse protected int eval() { return leftop.eval() + rightop.eval() ;
15 15 La classe Substraction package EXPRESSIONS ; public class Substraction extends Operation { public Substraction(Expression left, Expression right) { super(left,right) ; protected int eval() { return leftop.eval() - rightop.eval() ;
16 16 La classe Multiplication package EXPRESSIONS ; import java.lang.* ; public class Multiplication extends Operation { public Multiplication(Expression left, Expression right) { super(left,right) ; protected int eval() { return leftop.eval() * rightop.eval() ;
17 17 La classe Division package EXPRESSIONS ; import java.lang.* ; public class Division extends Operation { public Division(Expression left, Expression right) { super(left,right) ; protected int eval() { return (int)(leftop.eval() / rightop.eval()) ; // problème!!!!!
18 18 Les Erreurs en Java Exécution normale main p q r s
19 19 Les Erreurs en Java Une erreur se traduit par une exception. Exécution avec une erreur non traitée Programme stoppé main Propagation de l exception p q r s ERREUR Une exception est un objet de la classe Exception ou d une de ses classes dérivées. Elle contient des informations sur l erreur. Une exception non traitée provoque l arrêt du programme. Il y a des exceptions déclenchées par le langage et des exceptions définies et déclenchées par le programmeur.
20 20 Traitement d une erreur en Java Exécution avec une erreur traitée Traitement et reprise de l exécution Propagation de l exception ERREUR main p q r s try { // instructions susceptible de produire une erreur // du type TypeException catch(typeexception e) { // traitement de l exception...
21 21 La classe Division On doit déclarer la survenue possible d erreurs. package EXPRESSIONS ; import java.lang.* ; public class Division extends Operation { public Division(Expression left, Expression right) { super(left,right) ; protected int eval() throws ArithmeticException { // on déclare le type de l exception susceptible de déclenchement return (int)(leftop.eval() / rightop.eval()) ;
22 L exception ArithmeticException est définie par le langage. Elle est déclenchée en cas de division par zéro. 22
23 23 La classe Modulo package EXPRESSIONS ; import java.lang.* ; public class Modulo extends Operation { public Modulo(Expression left, Expression right) { super(left,right) ; protected int eval() throws ArithmeticException { return (int)(leftop.eval() % rightop.eval()) ;
24 24 Construction d une expression Expression e ; // e est une référence sur des objets de type Expression e = new Addition(new Constant(34),new Division(new Constant(23), new Constant(2)) ; // e = 34 + (23 / 2) int r ; Évaluation d une expression try { r = e.eval() ; catch(arithmeticexception ae) { System.out.println("*** Error" + ae.getmessage()) ; ;
25 25 package EXPRESSIONS ; import java.lang.* ; Le traitement des Erreurs arithmétiques public abstract class Expression { protected abstract int eval() throws ArithmeticException ; public String evaluation() { try { return Integer.toString(eval()) ; catch(arithmeticexception e) { return e.getmessage() ; ;
26 Une Calculatrice Électronique 26
27 27 Attributs: W P JcalclWindow EntryPanel à pour attribut L Label E Textfield L B B B W : P : B : L : L : * / mod classe dérivée de classe dérivée de classe dérivée de classe dérivée de classe dérivée de P B B + - Frame Panel Button List Label OpsPanel P B B B P Panel StackList DigitsPanel 0 1 +/- B B B B Eval top Pop one Clear all Quit On décide que tous connaîtront la fenêtre principale.
28 28 La notion de Layout Un objet de la classe Layout définit comment les composants sont positionnés et dimensionnés dans une fenêtre ou un Panel. Il est associé par la méthode setlayout(<layout>). Container c ; // Frame est une classe dérivée de Container // Panel est aussi dérivée de Container c.setlayout(new FlowLayout()) ; // un layout particulier c.add(a) ; c.add(b) ; c.add(x) ; c.add(d) ; c.add(e) ; // ajoute le composant a suivant le layout // ajoute le composant b suivant le layout // ajoute le composant x suivant le layout // ajoute le composant d suivant le layout // ajoute le composant e suivant le layout
29 29 Trois layouts particuliers : c.setlayout(new FlowLayout()) c.setlayout(new BorderLayout()) a b c c.add(a) ; c.add(b) ; c.add(c) ; a b x d e c.add(a,"north") ; c.add(b,"west") ; c.add(x,"center" ; c.add(d,"east") ; c.add(e,"center") ; c.setlayout(new GridLayout(4,2) a b x d e f g h c.add(a) ; c.add(b) ; c.add(g) ; c.add(h) ;
30 30 La fenêtre principale package INTERFACE ; import java.awt.* ; import EXPRESSIONS.* ; public class JcalcWindow extends Frame { // les widgets de Java // package des expressions // Frame = fenêtre public JcalcWindow() { super("jcalc calculator") ; setlocation(100,100) ; setsize(656,485) ; setfont(new Font("Serif",Font.BOLD,16)) ; createwidgets() ; show() ; // initialisation // initialisation avec la super méthode // quelques parametres // créer les widgets // faire apparaître Le comportement des widgets (composants) est fait à leur création.
31 31 // Dans la classe JcalcWindow Création des composants private DigitsPanel digitspanel ; // les widgets de la fenetre private StackList stacklist ; private EntryPanel entrypanel ; private OpsPanel opspanel ; private void createwidgets() { setlayout(new BorderLayout()) ; add(digitspanel = new DigitsPanel(this), "Center") ; add(stacklist = new StackList(this), "East" ) ; add(entrypanel = new EntryPanel(this), "North" ) ; add(opspanel = new OpsPanel(this), "South" ) ; Les classes des composants restent à définir. On leur donne this, c est-à-dire la fenêtre, en paramètre cela servira à programmer leurs comportements.
32 32 Le panneau des chiffres package INTERFACE ; import java.awt.* ; import INTERFACE.* ; public class DigitsPanel extends Panel { public DigitsPanel(JcalcWindow jwindow) { setlayout(new GridLayout(4,3)) ; for (int i=9 ; i>=1 ; i--) add(new DigitButton(jWindow,i)) ; add(new BackSpaceButton(jWindow)) ; add(new DigitButton(jWindow,0)) ; add(new PlusMoinsButton(jWindow)) ;
33 33 Le bouton chiffre package INTERFACE ; import java.awt.* ; import INTERFACE.* ; public class DigitButton extends Button { private JcalcWindow jwindow ; public DigitButton(JcalcWindow j, int i) { super(integer.tostring(i)) ; jwindow = j ;
34 34 Le bouton backspace package INTERFACE ; import java.awt.* ; import INTERFACE.* ; public class BackSpaceButton extends Button { private JcalcWindow jwindow ; public BackSpaceButton(JcalcWindow j) { super("backspace") ; jwindow = j ;
35 35 Le bouton plus/moins package INTERFACE ; import java.awt.* ; import INTERFACE.* ; public class PlusMoinsButton extends Button { private JcalcWindow jwindow ; public PlusMoinsButton(JcalcWindow j) { super("+/-") ; jwindow = j ;
36 36 La pile package INTERFACE ; import java.awt.* ; import INTERFACE.* ; import EXPRESSIONS.* ; public class StackList extends List { private JcalcWindow jwindow ; public StackList(JcalcWindow j) { super(20) ; jwindow = j ;
37 37 La programmation des comportements On peut programmer le comportement des composants graphiques lors des évènements provoqués par l utilisateur et/ou transmis par le système. Ce sont des objets associés au composant graphique qui gère cela. Composant graphique (widget) Listener n. 1 Listener n. 2 Une suite de Listener par type d événement pouvant arriver au composant. Chaque Listener possède une méthode de nom particulier prenant en argument un objet Listener n.3
38 Exemple : le bouton Quit 38
39 39 package INTERFACE ; import java.awt.* ; import java.awt.event.* ; // le package des événements import INTERFACE.* ; public class QuitButton extends Button { private JcalcWindow jwindow ; public QuitButton(JcalcWindow j) { super("quit") ; jwindow = j ; addactionlistener(new Action()) ; // le listener (add) class Action implements ActionListener { // attention : inner class public void actionperformed(actionevent e) { // l action jwindow.quit() ; // demande à la fenêtre
40 40 // Dans la class JcalcWindow protected void quit() { Exemple : le bouton Quit // il pourait y avoir des sauvegardes a effectuer System.out.println("Jcalc terminated, bye!") ; System.exit(0) ;
41 41 Exemple : le bouton Eval top Expression e ; // e est une référence sur des objets de type Expression e = new Addition(new Constant(34),new Division(new Constant(23), new Constant(2)) ; // e = 34 + (23 / 2)
42 42 En fait, dans notre application tous les composants s adressent à la fenêtre. C est un choix personnel. On a transmis la fenêtre à tous les composants pour qu ils puissent s adresser à elle. Remarquons que pour l évaluation, la StackList suffisait. On aurait pu transmettre cette StackList au bouton Eval top et ce dernier aurait pu s adresser à elle. Cependant, dans ce cas, il faut créer la StackList avant le bouton Eval top, ce qui impose une chronologie dans les créations. Notre méthode évite ces contraintes chronologiques dans les créations en échange de la définition d un certain nombre de méthodes relais dans la classe de la fenêtre principale. Une méthode généralement adoptée est de créer tous les widgets sans programmation des comportements puis de programmer les widgets lorsqu on est sûr que tous sont disponibles pour la programmation.
43 43 Exemple : le bouton Eval top int r ; try { r = e.eval() ; catch(arithmeticexception ae) { System.out.println("*** Error" + ae.getmessage()) ; ;
44 44 L exception MalformedStack package INTERFACE ; import java.awt.* ; public class MalformedStack extends Exception { public MalformedStack(String s) { super(s) ;
45 45 // Dans la classe StackList import EXPRESSIONS.* ; La méthode getexpression() public Expression getexpression() throws MalformedStack { if (getitemcount() == 0) throw new MalformedStack("Not enough operands") ; String first = getitem(0) ; remove(0) ; if (first.compareto("+") == 0) return new Addition(getExpression(),getExpression()) ;... try { return new Constant(Integer.parseInt(first)) ; catch(numberformatexception e) { throw new MalformedStack("Bad number syntax") ; ;
46 46 Remarques trois heures de programmation ; documentation en ligne sur Java et ses classes.
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
Plus en détailEncapsulation. 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é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é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étailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailIntroduction au langage Java
Introduction au langage Java 1 Introduction : Langage développé par Sun et purement orienté objet. N a pas de rapport direct avec Javascript développé par Netscape. Les applications java peuvent être des
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é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é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étailStructure 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
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étailAide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr
Aide mémoire UML & Java 1ère partie : Introduction marc.lemaire@u-cergy.fr 9 septembre 2014 1 2014 v1.11 Table des matières 1 Généralités 6 1.1 Notations utilisées.....................................
Plus en détailDé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
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étailProgrammation 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
Plus en détailTP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.
Université Paris 7 M2 II Protocole Internet TP3 Mail Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. 1 Protocole SMTP 1. Le protocole SMTP est définit dans
Plus en détailProgrammation 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
Plus en détailas 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
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é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é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é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é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é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é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é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é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é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étailF. Barthélemy. 17 mai 2005
Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes
Plus en détailINF 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
Plus en détailUne 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é)
Plus en détailPROGRAMMATION PAR OBJETS
PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)
Plus en détailIngénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau
labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC
Plus en détailJava 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
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étailApplet pour visualiser les variables «automate» notifiées
Applet pour visualiser les variables «automate» notifiées Sommaire 1. Introduction...2 2. Lecture de variables «automate» notifiées...2 2.1. IHM servant au test :...2 2.2. Codage de l'applet :...2 3. Codage
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étailThreads. Threads. USTL http://www.lifl.fr/ routier 1
Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un
Plus en détailInfo0101 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
Plus en détailSynchro 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
Plus en détailCorrigé 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
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
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étailConstruire des plug-ins pour SAS Management Console SAS 9.1
Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION
Plus en détailJADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.
: Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA
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é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é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étailRemote 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
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étailALGORITHMIQUE 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++
Plus en détail27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)
Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)
Plus en détailLe langage JAVA G. Baulieu Institut de Physique Nucléaire de Lyon Septembre 2009
Le langage JAVA G. Baulieu Institut de Physique Nucléaire de Lyon Septembre 2009 Quelques acronymes JDK : Java Development Kit SDK : Software Development Kit J2SE : Java 2 Standard Edition JRE : Java Runtime
Plus en détailSupport de cours et TD Programmation Orientée Objet
REPUBLIQUE TUNISIENNE MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Institut Supérieur des Etudes Technologiques de Médenine Département Informatique Support de cours et TD Programmation
Plus en détailSolutions 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 (
Plus en détailPremiers 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.
Plus en détailNFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007
NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation
Plus en détailTP SIN Programmation sur androïde Support : eclipse
TP SIN Programmation sur androïde Support : eclipse Support : Smartphone sur androïde Pré requis (l élève doit savoir): Savoir utiliser un ordinateur Savoir utiliser un Smartphone Programme Objectif terminale
Plus en détailUtiliser 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
Plus en détailRMI 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
Plus en détailMICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C
Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...
Plus en détailRemote Method Invocation Les classes implémentant Serializable
Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement
Plus en détailDesktop Intégration. Rémi Forax
Desktop Intégration Rémi Forax 1 Intégration au bureau L intégration de l application au bureau de l utilisateur se fait en combinant plusieurs techniques L écran d annonce de l application (SplashScreen)
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
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étailRappels d architecture
Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée
Plus en détailProgrammation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Plus en détailRemote Method Invocation en Java (RMI)
Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation
Plus en détailLa JVM. La machine virtuelle Java. La JVM. La JVM
La machine virtuelle Java Historique et rappels Organisation mémoire de la JVM Le garbage collector Le bytecode, la machine à pile. Les threads Suivi, tracé, optimisation d un programme Java JVM embarquées
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étailApprendre Java et C++ avec NetBeans
E Apprendre Java et C++ avec NetBeans Généralités Est-ce le titre d un nouvel ouvrage? Pourquoi pas! NetBeans fait son apparition dans cette édition car un module, permettant d éditer et de compiler du
Plus en détailVotre premier projet Android
3 Votre premier projet Android Maintenant que le SDK Android est installé, il est temps de créer votre premier projet. La bonne nouvelle est qu il n exige aucune ligne de code les outils Android créent
Plus en détailCours 2 : programmation des interfaces graphiques
Cours 2 : programmation des interfaces graphiques Anastasia.Bezerianos@lri.fr (partie de la présentation basée sur des transparents de Michel Beaudouin-Lafon) système interactif vs. système algorithmique
Plus en détailProjet 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
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étailTable des matières Introduction... 1 1. Démarrage... 8 2. Les composants graphiques... 26
Table des matières À propos de l'auteur... x Préface... xi Avant-propos... xiv 1. Public visé et prérequis... xiv 2. Sources des exemples... xv 3. Accès aux vidéos... xv 4. URL raccourcies... xv 5. Remerciements...
Plus en détailLa 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
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étailProgrammation Java TM pour les enfants, les parents et les grands-parents
Programmation Java pour les enfants, les parents et les grands-parents ii Programmation Java TM pour les enfants, les parents et les grands-parents Yakov Fain Traduit de l anglais (américain) par Vincent
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étailCOMPARAISONDESLANGAGESC, C++, JAVA ET
REPUBLIQUE DU BENIN *******@******* MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE(MESRS) *******@******* UNIVERSITE D ABOMEY CALAVI(UAC) *******@******* ECOLE POLYTECHNIQUE D ABPOMEY
Plus en détailUne introduction à la technologie EJB (2/3)
Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce
Plus en détail4. Groupement d objets
Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux
Plus en détailInitiation à la Programmation Java
Initiation à la Programmation Java (4GI) Michel Cubero-Castan 8/10/2006 Copyright (c) 2003 Michel Cubero-Castan Tous droits réservés. Table des matières 1 Java Computing... 1.1 Introduction... 1.2 Evolution
Plus en détailMachines virtuelles fonctionnelles (suite) Compilation ML Java
Machines virtuelles fonctionnelles (suite) Compilation ML Java Cours de Compilation Avancée (MI190) Benjamin Canou Université Pierre et Maire Curie Année 2011/2012 Semaine 3 Machines virtuelles fonctionnelles
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailJava RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011
Java RMI Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr Université de Provence 8 mars 2011 Arnaud Labourel (Université de Provence) Java RMI 8 mars 2011 1 / 58 Web services Services par le réseau
Plus en détailProgrammation MacOSX / ios
Programmation MacOSX / ios Master Ingénierie Informatique 2011-2012 Jean-Baptiste.Yunès@liafa.jussieu.fr deux extensions objets de C : C++ (Stroustrup) Objective-C (Cox & Love) ajout de constructions à
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é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étailEclipse atelier Java
Eclipse atelier Java Table des matières 1. Introduction...2 2. Télécharger eclipse...3 3. Installer eclipse...3 4. Premier lancement d eclipse...3 5. Configurer eclipse pour faire du Java...5 6. Développer
Plus en détailJAVA TD0. Prise en main du langage Environnement de base JAVA 1
JAVA TD0 Prise en main du langage Environnement de base JAVA 1 Mon premier programme public class HelloWorld { public static void main(string [] arg){ System.out.println("Hello, World!"); main(string []
Plus en détailTutorial pour une application simple
ANDROID & ECLIPSE Tutorial pour une application simple 1. Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition
Plus en détail1 Définition d une classe en Java
Université Montpellier-II UFR des Sciences - Département Informatique Licence Informatique - Ingénierie Logicielle - Concepts et Outils de la modélisation et du développement de logiciel par et pour la
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é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étailJava Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
Plus en détailProgrammation 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)
Plus en détailRN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java
RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes agnes.guerraz@inria.fr LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande
Plus en détail