Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003.

Dimension: px
Commencer à balayer dès la page:

Download "Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003."

Transcription

1 JAVA et Design Pattern Page 1/26 JAVA et Design Pattern Etude des Pattern Design Modélisation UML, Etude et critique des implémentations Java Par Laurent DESECHALLIERS Mastère Spécialisé en Management de Projets en Milieu Industriel CESI de Rouen Promotion 2002/2003 Avril 2003 Membres du Jury : Farid BAGUI Gilles BIAGETTI Aurelie DUMARCHE

2 JAVA et Design Pattern Page 2/26 Table des matières 0.Objectifs, démarche et outils 1.Le pattern Observer 1.1 Diagrammes de classes et de séquence 1.2 Diagramme d'état transition 1.3 Le pattern Observer en Java Diagrammes des classes de test Source de la classe ObservableTest Source de la classe ObserverClass Source de la classe Start (fonction main) 1.4 Analyse des Observer/Observable du SDK Sun Source de la méthode notifyobserver Source de l'interface Observer Schéma d'un scénario des ''faiblesses'' d'identification observateur/observé Proposition d'une solution aux ''faiblesses'' d'identification observateur/observé Source de la solution Scénario de test 2.Le Pattern Design Template Method 2.1 Exemple du tri à bulle 2.2 Schéma UML du Template Method 3.Le pattern Factory 3.1 Présentation du Patern Factory 3.2 Présentation(suite)du Patern Factory 4.Le pattern Strategy 4.1 Problèmatiques des différenciations 4.2 Problèmatiques des stratégies multiples 4.3 Diagrammes et avantages 5.Conclusion 6.Bibliographie et ressources diverses

3 JAVA et Design Pattern Page 3/26 0. Objectifs, démarche et outils 0.1 Les objectifs visés Apprendre à maîtriser certains Design Pattern afin de passer à un niveau suppérieur en architecture logicielle. 0.2 La démarche suivie Lecture d'un ouvrage de référence et d'une série d'articles parus dans le magazine Login. Réflexion sur les Design Pattern et essais de modélisation et de transposition des Design Pattern sur des cas concrets d'architecture logicielle Développement en Java de ces Design Pattern Modélisation UML puis Analyse des forces et faiblesses d'une implémentation Java d'un Design Pattern Observer 0.3 Les outils utilisés Jbuilder 8.0 Multi-plateforme/développé en Java Simple et convivial Offre une version community N'enferme pas dans des structures de fichiers propriétaires Poseidon UML for Community Multi-plateforme/développé en Java Offre une version community Moins 'obèse' et tout aussi valable que Rationnal Rose Open Office Raisons identiques aux deux softs précédents

4 JAVA et Design Pattern Page 4/26 1.Le pattern Observer 1.1 Diagrammes de classes et de séquence

5 JAVA et Design Pattern Page 5/26 1. Le pattern Observer 1.2 Diagramme d'état/transition

6 JAVA et Design Pattern Page 6/26 1. Le pattern Observer 1.3 Test de l'observateur en Java Diagrammes des classes de test

7 JAVA et Design Pattern Page 7/26 1.Le pattern Oberver 1.3 Test de l'observateur en Java Source de la classe ObservableTest package observateur; import java.util.*; /** * <p>titre : Test observateur Java</p> * <p>description : </p> * <p>copyright : Copyright (c) 2003</p> * <p>société : </p> Laurent Deséchalliers */ public class ObservableTest extends Observable // START CLASS // public ObservableTest() super(); System.out.println("Costructeur de l'objet Observable"); // public synchronized void setchanged() super.setchanged(); //notifyobservers(); System.out.println("Statut Observé est : a changé"); // protected synchronized void setchanged(object arg) super.setchanged(); notifyobservers(arg); // public void notifyobservers(object arg) super.notifyobservers(arg) ; System.out.println("L'observé Notifie les objets Observateur"); // public void notifyobservers() System.out.println("L'observé Notifie les objets Observateur"); super.notifyobservers(null) ;

8 JAVA et Design Pattern Page 8/26 // public void addobserver(observerclass1 o) super.addobserver(o); System.out.println("L'observé "+ o.getclassname() + " ajouté à la liste des observateurs"); // public void deleteobserver(observerclass1 o) super.deleteobserver(o); System.out.println("L'observé "+ o.getclassname() + "supprimé à la liste des observateurs"); // END CLASS *****************************************************************

9 JAVA et Design Pattern Page 9/26 1.Le pattern Observer 1.3 Test de l'observateur en Java Source de la classe ObserverClass1 package observateur; import java.util.*; /** * <p>titre : Test observateur Java</p> * <p>description : </p> * <p>copyright : Copyright (c) 2003</p> * <p>société : </p> Laurent Deséchalliers 1.0 */ public class ObserverClass1 implements Observer // START CLASS ********************************************************* protected String internal_class_name = new String(); // public ObserverClass1(String class_name) internal_class_name = class_name; System.out.println("L'objet "+ internal_class_name+" est vivant"); // public String getclassname() return internal_class_name; // public void update(observable o, Object arg ) System.out.println("L'objet "+internal_class_name+" a été notifié");

10 JAVA et Design Pattern Page 10/26 1.Le pattern Observer 1.3 Test de l'observateur en Java Source de la classe Start (fonction main) package observateur; import java.util.*; /** * <p>titre : Test observateur Java</p> * <p>description : </p> * <p>copyright : Copyright (c) 2003</p> * <p>société : </p> Laurent Deséchalliers 1.0 */ public class start public static void main(string[] args) ObservableTest Observe1 = new ObservableTest() ; ObserverClass1 Observateur1 = new ObserverClass1("Obs1"); ObserverClass1 Observateur2 = new ObserverClass1("Obs2"); ObserverClass1 Observateur3 = new ObserverClass1("Obs3"); ObserverClass1 Observateur4 = new ObserverClass1("Obs4"); Observe1.setChanged() ; Observe1.addObserver(Observateur1) ; Observe1.addObserver(Observateur2) ; Observe1.addObserver(Observateur3) ; Observe1.addObserver(Observateur4) ; Observe1.notifyObservers() ;

11 JAVA et Design Pattern Page 11/26 1.Le pattern Observer 1.4 Analyse des Observer/Observable du SDK Sun Source de la méthode notifyobserver (SDK Sun Java 2 V. 1.4) public void notifyobservers(object arg) /* * a temporary array buffer, used as a snapshot of the state of * current Observers. */ Object[] arrlocal; synchronized (this) /* We don't want the Observer doing callbacks into * arbitrary code while holding its own Monitor. * The code where we extract each Observable from * the Vector and store the state of the Observer * needs synchronization, but notifying observers * does not (should not). The worst result of any * potential race-condition here is that: * 1) a newly-added Observer will miss a * notification in progress * 2) a recently unregistered Observer will be * wrongly notified when it doesn't care */ if (!changed) return; arrlocal = obs.toarray(); clearchanged(); for (int i = arrlocal.length-1; i>=0; i--) ((Observer)arrLocal[i]). update(this, arg);

12 JAVA et Design Pattern Page 12/26 1.Le pattern Observer 1.4 Analyse des Observer/observable du SDK Sun Source de l'interface Observer (SDK Sun Java 2 V. 1.4) Source : Observer.java SDK Sun 1.4 public interface Observer void update(observable o, Object arg); Source : Observable.java SDK Sun 1.4 public void notifyobservers(object arg) Object[] arrlocal; synchronized (this) if (!changed) return; arrlocal = obs.toarray(); clearchanged(); for (int i = arrlocal.length-1; i>=0; i--) ((Observer)arrLocal[i]).update(this,arg); Aucune sécurité d'exécution de l'implémentation de la méthode public update des classes utilisant l'interface observer.

13 JAVA et Design Pattern Page 13/26 1.Le pattern Observer 1.4 Analyse des Observer/Observable du SDK Sun Schéma d'un scénario des ''faiblesses'' d'identification observateur/observé

14 JAVA et Design Pattern Page 14/26 1.Le pattern Observer 1.4 Analyse des Observer/Observable du SDK Sun Proposition d'une solution aux ''faiblesses'' d'identification observateur/observé Avantages de la solution utilisant untemplate Method Sécurisation de la liaison observateur/observé On conserve la notion de 'contrat' Désavantage On perd la capacité d'hériter des classes observatrices (Peut y remédier par une composition ou agrégation)

15 JAVA et Design Pattern Page 15/26 1.Le pattern Observer 1.4 Analyse des Observer/Observable du SDK Sun Source de la solution package observateur; import java.util.*; public class obs1templatemethod implements Observer protected String internal_class_name = new String(); protected ObservableTest _observable; // public obs1templatemethod() // public obs1templatemethod (String class_name, ObservableTest o) internal_class_name = class_name; System.out.println("L'objet "+ internal_class_name+" est vivant"); _observable = o; System.out.println("La classe a observée est mémorisée"); // public String getclassname() return internal_class_name; // public void update(observable o, Object arg ) System.out.println("Test sé&curité notification partie update"); if (o==_observable) System.out.println("L'objet "+internal_class_name+" est bien le bon appelant"); System.out.println("L'objet "+internal_class_name+" est mis à jour"); this.updatedifference(o,arg); else System.out.println("L'objet est malicieux"); ; // protected void updatedifference(observable o, Object arg )

16 JAVA et Design Pattern Page 16/26 1.Le pattern Oberver 1.4 Analyse des Observer/Observable du SDK Sun Source de la solution package observateur; import java.util.*; /** * <p>titre : Test observateur Java</p> * <p>description : </p> * <p>copyright : Copyright (c) 2003</p> * <p>société : </p> Laurent Deséchalliers 1.0 */ public class obstype2 extends obs1templatemethod public obstype2(string class_name, ObservableTest o) super(class_name,o); protected void updatedifference(observable o, Object arg ) System.out.println("L'objet "+internal_class_name+" a été notifié / partie updatedifférence du la classe fils");

17 JAVA et Design Pattern Page 17/26 1.Le pattern Observer 1.4 Analyse des Observer/Observable du SDK Sun Scénario de test Source du test // Véritable objet observé ObservableTest ObjetObserve = new ObservableTest(); // Objet Observable malicieux ObservableTest ObjetObserveMalicieux = new ObservableTest(); // Observateur du test obstype2 Observateur1 = new obstype2("obs1",objetobserve); System.out.println("Test du bon objet observé"); ObjetObserve.setChanged() ; ObjetObserve.addObserver(Observateur1); ObjetObserve.notifyObservers(); System.out.println(" "); System.out.println("Test dd l'objet malicieux"); Observateur1.update(ObjetObserveMalicieux, null); Traces du test L'objet Obs1 est vivant La classe a observée est mémorisée Test du bon objet observé Statut Observé est : a changé L'observé Notifie les objets Observateur Test s&curité notification partie update L'objet Obs1 est bien le bon appelant L'objet Obs1 est mis à jour L'objet Obs1 a été notifié / partie updatedifference du la classe fils Test de l'objet malicieux Test sécurité notification partie update L'objet est malicieux

18 JAVA et Design Pattern Page 18/26 2.Le pattern Template Method 2.1 Exemple du tri à bulle Algo Tri a bulle sur une suite A n d'éléments dont le type n'est pas définit Si A n+1 <A n alors permute A n et A n Problème de redondance d'éléments à trier nombre réels chaines de caractère de code pour chaque type Il faut donc définir une structure générique d'un algoritme dont on déléguera certaines étapes aux sous-classes.

19 JAVA et Design Pattern Page 19/26 2.Le pattern Template Method 2.1 Schéma UML du Template Method Avantage : On obtient un code unique et réutilisable (extension à d'autres type d'éléments à trier).

20 JAVA et Design Pattern Page 20/26 3. Le pattern Factory 3.1 Présentation du Patern factory Objectif Participants et collaborateurs Conséquences Découpler l'instanciation d'une méthode de la classe cliente. Father définit l'interface des classes fils utilisés par des classes clientes. FatherFactory instancie une classes fils de Father en fonction d'un contexte donné. Le polymorphisme de classe découple Father de ses classes utilisatrices. Par ce découplage, on obtient : La possibilité de modifier les implémentations des classes fils de Father sans modifier les classes utilisatrices On peut ajouter des classes fils à Father, voire modifier celles déjà existantes (pour les diviser par exemple) sans avoir a retoucher les classes utilisatrices On peut modifier les règles d'attribution de classes de la Factory sans modifier les classes utilisatrices et Father. On diminue le nombre de classes filles du Client de Father Factory

21 JAVA et Design Pattern Page 21/26 3. Le pattern Factory 3.2 Présentation (suite) du Pattern Factory Les objets sont responsables d'eux même : Father (et ses fils) résolvent la tache qui leur est assigné. FatherFactory choisit la classe la plus adaptée en fonction du contexte donné. En comparaison avec une organisation projet : le choix des membres d'un projet est effectué par un chef de projet et non par les membres (potentiels) du projet. PS : les configurations peuvent être multiples

22 JAVA et Design Pattern Page 22/26 4. Le pattern Strategy 4.1 Problématiques des différentiations On applique une stratégie simple à un objet : exemple du calcul de taxe en fonction du pays. Cas n 1 : on veut différencier (classe E) des éléments (hors stategy) de A Problème : on doit différencier pour chaque statégie explosion des classes

23 JAVA et Design Pattern Page 23/26 4. Le pattern Strategy 4.2 Problèmatiques des stratégies multiples Cas n 2 : on veut rajouter une stratégie à deux options Problème : on doit différencier pour chaque statégie explosion des classes Autre possibilité lourde et inélégante : on rajoute deux classes Strategy2_1 et Strategy2_2 dans A. Couplage fourt, perte du polymorphisme.

24 JAVA et Design Pattern Page 24/26 4. Le pattern Strategy 4.3 Diagrammes et avantages Souplesse d'ajout : De type de stratégies D'élément d'un type de stratégie De destruction et remodelage d'un type de stratégie Un couplage faible Découplage Client/configuration Couplage faible configuration/stratégy Aucun couplage Client/Strategy Les objets sont responsables : Chaque Strategy est responsable de sa stratégie Les développeurs sont responsables Simplification du travail en équipe

25 JAVA et Design Pattern Page 25/26 5. Conclusion Ce que ce travail m'a apporté : Mieux appréhender une approche objet non hiérarchisée et monolithique Travailler avec une autre philosophie de conception basée sur l'esthétisme et l'agilité des structures objet (ne pas oublier que les pattern design ont été créés par un architecte et des anthropologues) Regrets : Ne pas avoir réussi à me convaincre de l'utilité du pattern Bridge Ce type d'enseignement et d'autres (Extrem Programming) ne soient : pas enseignés dans les universités et écoles d'ingénieur pas (ou très peu) utilisé dans les entreprises Perspectives d'avenir : Continuer à travailler mes ressources actuelles Lire (et travailler avec ardeur) le livre du ''Gang Of For'' Publier un article sur un Pattern Design dédié aux files d'attentes adapté à des systèmes à contraintes d'exécutions multiples (disques durs par exemple)

26 JAVA et Design Pattern Page 26/26 6. Bibliographie et Ressources Diverses Design Pattern par la pratique. A. Shalloway, J.R. Trott. Eyroles. 249p. ISBN Login n 90 à 97. (série d'articles consacrés au Design Pattern). Sources du SDK v. 1.4 Java de SUN. Je tiens à remercier tout particulièrement les éditeurs et développeurs indépendant offrants des logiciels libres ou des éditions community. Grâce à leurs actions, la maîtrise des systèmes d'information dévient, un peu plus chaque jour, accessible à tous.

Design Pattern (1/3) Design Pattern (2/3)

Design Pattern (1/3) Design Pattern (2/3) Design Pattern (1/3) Un pattern (ou design pattern) décrit : une situation constituant un problème souvent rencontré dans le développement d'applications une (ou plusieurs) solution(s) type(s) à ce problème,

Plus en détail

Patrons Observateur/MVC

Patrons Observateur/MVC Patrons Observateur/MVC programmation évènementielle jean-michel Douin, douin au cnam point fr version : 12 Septembre 2008 Notes de cours 1 Sommaire Patron Observateur Programmation évènementielle Patron

Plus en détail

Cours 3 SDA et conception de logiciel. 1. Exemple d'analyse algorithmique n'utilisant que des tableaux

Cours 3 SDA et conception de logiciel. 1. Exemple d'analyse algorithmique n'utilisant que des tableaux Cours 3 SDA et conception de logiciel Les SDA servent à pouvoir construire des logiciels performants en cherchant à combiner des "briques" dont on sait qu'on pourra les implémenter en utilisant des techniques

Plus en détail

Design patterns par la pratique

Design patterns par la pratique Alan SHALLOWAY James TROTT Design patterns par la pratique Groupe Eyrolles, 2002 ISBN : 2-212-11139 Table des matières Préface.................................................... XV SECTION I Introduction

Plus en détail

Design Patterns. Pourquoi utiliser des patterns? Pourquoi utiliser des patterns? Les patterns vue de loin. D où viennent les design patterns?

Design Patterns. Pourquoi utiliser des patterns? Pourquoi utiliser des patterns? Les patterns vue de loin. D où viennent les design patterns? Noël NOVELLI ; Université de la Méditerranée ; LIF et Département d Informatique Case 901 ; 163 avenue de Luminy 13 288 MARSEILLE cedex 9 Design Patterns D où viennent les design patterns? D où viennent

Plus en détail

/~gibson/teaching/designpatterns/designpatterns-mvc.pdf

/~gibson/teaching/designpatterns/designpatterns-mvc.pdf Patron: Modèle-Vue-Contrôleur (MVC) /~gibson/teaching/designpatterns/designpatterns-mvc.pdf MVC.1 Patron: Modèle-Vue-Contrôleur Modèle-Vue-Contrôleur (MVC) est un pattern architectural qui sépare les données

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

Plus en détail

Les Design Patterns en Java

Les Design Patterns en Java Les Design Patterns en Java Les 23 modèles de conception fondamentaux Steven John Metsker et William C. Wake Pearson Education France a apporté le plus grand soin à la réalisation de ce livre afin de vous

Plus en détail

Programmer 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) 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étail

Polymorphisme. Programmation Orientée Objet. Jean-Christophe Routier Licence mention Informatique Université Lille 1

Polymorphisme. Programmation Orientée Objet. Jean-Christophe Routier Licence mention Informatique Université Lille 1 Polymorphisme Programmation Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Université Lille 1 - Licence Informatique Programmation Orientée Objet 1 des méthodes

Plus en détail

Module B9-1 : sensibilisation à l UML

Module B9-1 : sensibilisation à l UML Module B9-1 : sensibilisation à l UML Olivier Habart : habart.olivier@gmail.com ENSTA B9-1 UML (Olivier Habart) Septembre 14 Diapositive N 1 Session 2 : Vue statique Sommaire Diagramme de classes Diagrammes

Plus en détail

L2 Informatique - gr A HLIN406-25 mars 2015. Contrôle continu 1

L2 Informatique - gr A HLIN406-25 mars 2015. Contrôle continu 1 L2 Informatique - gr A HLIN406-25 mars 2015 Nom : Prénom : Numéro d étudiant : Contrôle continu 1 Tous documents sur support papier autorisés. Durée : 1h00. L ensemble des réponses sera à donner sur les

Plus en détail

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

Plus en détail

Master M1 Informatique: Analyse et Conception des Logiciels

Master M1 Informatique: Analyse et Conception des Logiciels Master M1 Informatique: Analyse et Conception des Logiciels Pascal Molli et Hala Skaf-Molli 24 Juin 2008 (2ième session) Les documents de cours sont autorisés 1 Exercice en 5 lignes maximums répondez aux

Plus en détail

Chapitre 11. Conception de logiciels Intranet : patrons et canevas NSY 102. Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3

Chapitre 11. Conception de logiciels Intranet : patrons et canevas NSY 102. Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3 NSY102-Chapitre-11_Synthese.doc 1/12 06/01/2014 21:48:04 Chapitre 11 Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3 2. OBSERVER/OBSERVABLE 3 2.1. DEFINITION 3 2.2. REFERENCES

Plus en détail

1 Le Parking revisité

1 Le Parking revisité Module I6 - Manipulation de threads II 13 décembre 2012 1 Le Parking revisité Une société de gestion de parkings de voitures souhaite mettre en place un système automatique d affichage en temps réel de

Plus en détail

les Design Patterns 11/02/2013 labsticc.univ-brest.fr/pages_perso/babau/ Département Informatique, UFR Sciences, UBO Laboratoire Lab-STICC

les Design Patterns 11/02/2013 labsticc.univ-brest.fr/pages_perso/babau/ Département Informatique, UFR Sciences, UBO Laboratoire Lab-STICC labsticc.univ-brest.fr/pages_perso/babau/ les Design Patterns Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Introduction aux Design patterns Quelques Design

Plus en détail

Master M1 Informatique: Analyse et Conception des Logiciels

Master M1 Informatique: Analyse et Conception des Logiciels Master M1 Informatique: Analyse et Conception des Logiciels Pascal Molli Juin 2008 Les documents de cours sont autorisés 1 Exercice en 5 lignes maximums répondez aux questions suivantes : 1. Qu est ce

Plus en détail

POO 1/3 - Introduction à la Programmation Orientée Objet. Pierre Parrend IUT Lumière Lyon II, 2005-2006 pierre.parrend@univ-lyon2.

POO 1/3 - Introduction à la Programmation Orientée Objet. Pierre Parrend IUT Lumière Lyon II, 2005-2006 pierre.parrend@univ-lyon2. POO 1/3 - Introduction à la Programmation Orientée Objet Pierre Parrend IUT Lumière Lyon II, 2005-2006 pierre.parrend@univ-lyon2.fr Sommaire Les Langages de Programmation Premier Programme Les Objets Objets

Plus en détail

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation Clues from other disciplines (from E. Gamma) Patrons de conception («Design Patterns») ESIR2, GL (LSI) Benoit Combemale Université de Rennes 1, ESIR & IRISA (Triskell team) Benoit.Combemale@irisa.fr Inspiré

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe

Plus en détail

NFP121 Programmation Avancée. Relations entre classes

NFP121 Programmation Avancée. Relations entre classes NFP121 Programmation Avancée Relations entre classes Xavier Crégut ENSEEIHT Télécommunications & Réseaux Xavier Crégut (N7) NFP121 Programmation Avancée Relations entre classes

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX

Plus en détail

IFT3912 Développement, Maintenance de Logiciels Démo6 : Les Patrons de Conception Professeur: Bruno Dufor

IFT3912 Développement, Maintenance de Logiciels Démo6 : Les Patrons de Conception Professeur: Bruno Dufor IFT3912 Développement, Maintenance de Logiciels Démo6 : Les Patrons de Conception Professeur: Bruno Dufor Démonstrateurs: Marouane Kessentini I. Définition Hassen Grati Un patron de conception (Design

Plus en détail

Correction DS Java 2005 Classe Produit Classe CD

Correction DS Java 2005 Classe Produit Classe CD Correction DS Java 2005 Classe Produit public abstract class Produit { private static int derniernumeroproduit = 1; private int numeroproduit; // Le prix hors taxe du produit private double prix; //Le

Plus en détail

INTRODUCTION À JAVA EE. Cours Master 2 - Java EE

INTRODUCTION À JAVA EE. Cours Master 2 - Java EE INTRODUCTION À JAVA EE 1 LA NÉBULEUSE JAVA Java Micro Edition (JME) développement d applications embarquées Java Standard Edition (JSE) développement d applications classiques Java Enterprise Edition (JEE)

Plus en détail

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. 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étail

Patron: Iterator (Itérateur)

Patron: Iterator (Itérateur) Patron: Iterator (Itérateur) http://www-public.telecom-sudparis.eu/~gibson/teaching/designpatterns/designpatterns-iterator.pdf Un itérateur est un objet qui permet de parcourir tous les éléments contenus

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

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

Plus en détail

POO LES EXCEPTIONS LES EXCEPTIONS

POO LES EXCEPTIONS LES EXCEPTIONS CHAPITRE 7 : LES EXCEPTIONS Objectifs spécifiques 1. Introduire la notion d exception, les règles d utilisation et de définition des exceptions. 2. Distinguer entre les exceptions prédéfinies et les exceptions

Plus en détail

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

[APPLICATON REPARTIE DE VENTE AUX ENCHERES] 2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...

Plus en détail

Plugin Payment-OnLine

Plugin Payment-OnLine Plugin Payment-OnLine Le plugin "Payment-Online" est un plugin technique dont l'objectif est de faciliter l'utilisation du paiement en ligne dans des applications Lutèce. Il se compose d'une librairie

Plus en détail

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

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

Plus en détail

3 PHP avancé Les objets : définitions

3 PHP avancé Les objets : définitions Les objets : définitions Structure de données associant des attributs et des méthodes qui décrivent le comportement de l'objet. Héritage de la conception objet (UML). Définie dans une classe. Un objet

Plus en détail

Université Mohammed Premier Année universitaire 2012-2013

Université Mohammed Premier Année universitaire 2012-2013 Université Mohammed Premier Année universitaire 2012-2013 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Responsable du cours : El Mostafa

Plus en détail

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2011/2012 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 1 Date : jeudi 26 janvier 2012 Durée : 1H30 Coordonnateurs : Christian Bac et Denis

Plus en détail

Éléments de base en Java (suite et fin)

Éléments de base en Java (suite et fin) Éléments de base en Java (suite et fin) P.O.O. LMI 2 Semestre 4 Option Info Année 2008-09 1/33 Éléments de base en Java (suite et fin) Année 2008-09 Plan du cours Les chaînes de caractères Retour vers

Plus en détail

Programmation par Objets

Programmation par Objets Programmation par Objets Licence d'informatique 2004-05 A.Bès 1 - 18h de cours - 4h30 de TD (3 séances) - 18h de TP (6 séances) Organisation Projet commun avec le cours de Développement de Programmes Contenu

Plus en détail

Module FMIN358 Technologies du Web : PHP objet et couches d accès aux bases de données

Module FMIN358 Technologies du Web : PHP objet et couches d accès aux bases de données Module FMIN358 Technologies du Web : PHP objet et couches d accès aux bases de données 1. Exploiter une couche métier objet PHP prend en charge certains des grands principes du paradigme objet (héritage,

Plus en détail

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

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 Cours 6 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

Plus en détail

Cours Java : deuxième saison

Cours Java : deuxième saison Programmation Objet en Java Cours 9 Design Patterns 1 (C) 2005, Frédéric Peschanski 1 Cours Java : deuxième saison Cours 7 : Exceptions, tests unitaires et assertions Cours 8 : Design Patterns 1 Cours

Plus en détail

Projet M1 : Application P2P Hybride avec RMI

Projet M1 : Application P2P Hybride avec RMI Projet M1 : Application P2P Hybride avec RMI Applications Réparties 2008-2009 Université Paris VIII / Parcours SRM / M1 Sujet : Le but de ce projet est d'implémenter une application de partage de fichiers

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 9 NFP111 Systèmes et Applications Réparties Cours 6 - Remote Method Invocation (RMI)/Partie 2 Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire FICHE PRODUIT Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire BENEFICES Des projets réussis dans les délais et les budgets La bonne donnée disponible au

Plus en détail

Licence Informatique Année 2005-2006

Licence Informatique Année 2005-2006 Université Paris 7 Java Licence Informatique Année 2005-2006 TD n 6 - Correction Héritage Exercice 1 On modélise une application devant servir à l inventaire d une bibliothèque. Elle devra traiter des

Plus en détail

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Apprendre 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étail

MODULE TransportsAbstrait; TYPE Véhicule* = POINTER TO ABSTRACT RECORD prix*: REAL; nbpassmax*: INTEGER END;

MODULE TransportsAbstrait; TYPE Véhicule* = POINTER TO ABSTRACT RECORD prix*: REAL; nbpassmax*: INTEGER END; MODULE TransportsAbstrait; Véhicule = POINTER TO ABSTRACT RECORD prix: REAL; nbpassmax: INTEGER ChoseTransportée =POINTER TO ABSTRACT RECORD poids: REAL; ident: ARRAY 81 OF CHAR PROCEDURE (v: Véhicule)

Plus en détail

Contrôle de rattrapage Master II I - SRI

Contrôle de rattrapage Master II I - SRI Université de Batna Module : Bases de données orientées objets Faculté des sciences Département d informatique 2012/2013 Durée : 1h30 Le 19/03/2013 Questions de cours (4 pts) Contrôle de rattrapage Master

Plus en détail

Stéphane GOBRON HES SO HE Arc ISIC

Stéphane GOBRON HES SO HE Arc ISIC Stéphane GOBRON HES SO HE Arc ISIC 2015 Où en sommes nous? Plan de cours Ch.1 : OO Rappels Ch.2 : Etude de cas => le bridge DP Ch.3 : Conceptualisation, Singleton et Composite DPs Ch.4 : Decorator, State,

Plus en détail

Chapitre 4. Le modèle de composants

Chapitre 4. Le modèle de composants Chapitre 4 Le modèle de composants 1 Plan du chapitre 4 Les composants fondamentaux : Activity, Service, BroadcastReceiver, ContentProvider Les activités (cycle de vie, navigation entre les activités,

Plus en détail

Notions d héritage en Java

Notions d héritage en Java EILCO ING 1 - POO Java TP 5 2014/2015 Notions d héritage en Java L héritage est la capacité d une classe (la sous-classe) à hériter des membres (attributs et méthodes) d une autre classe (la super-classe).

Plus en détail

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector l tutorial Interfaces. l Stack

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

Plus en détail

ift 3051 projet d informatique QUALITÉ DES PROGRAMMES ET PATRONS DE CONCEPTION

ift 3051 projet d informatique QUALITÉ DES PROGRAMMES ET PATRONS DE CONCEPTION ift 3051 projet d informatique QUALITÉ DES PROGRAMMES ET PATRONS DE CONCEPTION La notion de qualité d un logiciel - Notion la plus importante d un logiciel, 3 définitions connues à ce jour. - Mesurer la

Plus en détail

Cours de Programmation Orientée Objet

Cours de Programmation Orientée Objet Contrat et application à la librairie standard JAVA mailto:marc.champesme@lipn.univ-paris13.fr 6 février 2011 1 Qu est ce qu une classe? Un exemple en JAVA Résumé Expression du contrat Par des commentaires

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

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

Plus en détail

Cours 8 : Exceptions, un peu de graphique

Cours 8 : Exceptions, un peu de graphique 1 Cours 8 : Exceptions, un peu de graphique 1. Traiter les exceptions usuelles 2. Créer ses propres exceptions 3. Exemples: les files. 4. Quelques éléments sur les graphiques 2 Exceptions Une exception

Plus en détail

Cours de Génie Logiciel

Cours 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étail

Université Mohammed Premier Année universitaire 2011-2012. Complément d exercices avec correction

Université Mohammed Premier Année universitaire 2011-2012. Complément d exercices avec correction Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques et d Informatique Module : POO Java Semestre : S5 Complément d exercices avec correction

Plus en détail

Programmation Java. Redéfinition de méthode (masquage)

Programmation Java. Redéfinition de méthode (masquage) Programmation Java Programmation objet avec Java Concepts plus avancés Christelle Urtado & Sylvain Vauttier Janvier 2013 Redéfinition de méthode (masquage) Une sous-classe peut redéfinir le code de méthodes

Plus en détail

On définit une classe dérivée à partir d une classe existante comme une extension de celle-ci : super classe, classe de base, classe mère

On définit une classe dérivée à partir d une classe existante comme une extension de celle-ci : super classe, classe de base, classe mère Cours 4 Héritage Classe abstraite Interface POO 1 On définit une classe dérivée à partir d une classe existante comme une extension de celle-ci : super classe, classe de base, classe mère la classe dérivée

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 82

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 82 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 82 Chapitre 5 Programmation orientée objet Amélie Lambert 2014-2015 2 / 82 Plan du cours Analyse, conception et programmation Orientée

Plus en détail

Interface Homme-Machine 2

Interface Homme-Machine 2 Interface Homme-Machine 2 Architecture MVC Modèle d'interaction asynchrone Jacques Bapst jacques.bapst@hefr.ch Interactions avec le système : modèle et vue L'interface utilisateur est chargée de représenter,

Plus en détail

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau Plan Tableaux Université de Nice - Sophia Antipolis Richard Grin Version 1.0.4 25/11/10 Définition Déclaration d un tableau Création d un tableau Utilisation d un dun tableau Tableau des paramètres de

Plus en détail

Composite, Interpréteur et Visiteur

Composite, Interpréteur et Visiteur Composite, Interpréteur et Visiteur Cnam Paris jean-michel Douin Version du 10 Octobre 2003 Notes de cours java : les patterns Composite, Interpréteur et Visiteur Les notes et les Travaux Pratiques sont

Plus en détail

Package Java.util Classe générique

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

Plus en détail

Listes et arbres binaires

Listes et arbres binaires Des structures de données dynamiques Listes, Listes ordonnées Arbres binaires, arbre binaires de recherche Listes chaînées Utile si le nombre d éléments n est pas connu à l avance et évolue beaucoup. Permet

Plus en détail

ACTIVITÉ DE PROGRAMMATION

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,

Plus en détail

Types 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. 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étail

Le langage Java - Syntaxe

Le langage Java - Syntaxe Le langage Java - Syntaxe CLASSES, INSTANCE,MÉTHODES,... CLASSE EN JAVA, PAS À PAS UTILISER DES CLASSES: C O=NEW C() UTILISER LES MÉTHODES: O.M() UNE CLASSE AVEC PLUSIEURS CONSTRUCTEURS LA SURCHARGE DES

Plus en détail

6.1 Une classe simple pour représenter des comptes bancaires

6.1 Une classe simple pour représenter des comptes bancaires Chapitre 6 Héritage Ce chapitre du cours traite de concepts relatifs à la programmation objet (hiérarchie de classe, héritage, extension, masquage) et sera illustré par un exemple de représentation de

Plus en détail

KLIPS - PROJET INTELLIGENCE ARTIFICIEL

KLIPS - PROJET INTELLIGENCE ARTIFICIEL 19/03/2008 EPSI KLIPS - PROJET INTELLIGENCE ARTIFICIEL Christian Couder, Fabien Joubert, Guy-Ludovic Rodriguez Sommaire I Cahier des Charges 1. Les différentes composantes demandées... 3 a. Caractéristiques

Plus en détail

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

Plus en détail

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Durée de l'épreuve : 2 heures TRÈS IMPORTANT : respectez l'ordre des questions. La lisibilité sera un critère important pour

Plus en détail

Java Licence professionnelle CISI 2009-2010

Java Licence professionnelle CISI 2009-2010 Java Licence professionnelle CISI 2009-2010 Cours 10 : Type générique (c) http://manu.e3b.org/java/tutoriels/avance/generique.pdf 1 Introduction La programmation générique - nouveauté la plus significative

Plus en détail

Le parallélisme en Java

Le parallélisme en Java Chapitre 7 Le parallélisme en Java L espoir du parallélisme est de pouvoir faire exécuter plusieurs tâches à un ordinateur (avec plusieurs processeurs). Ceci trouve un début d application sur certains

Plus en détail

Ingénierie des Modèles. Transformations de Modèles

Ingénierie des Modèles. Transformations de Modèles Ingénierie des Modèles Transformations de Modèles Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Types de transformation Raffinement Projection

Plus en détail

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009 Institut Supérieur d Informatique Chapitre 02 Synchronisation des processus Dr. Mohamed-Wassim YOUSSEF 2009 [www.wassimyoussef.info] Systèmes d exploitation avancées 1 ING ISI 1 ére année Ingénieur en

Plus en détail

Programmation objet en Java.

Programmation objet en Java. Programmation objet en Java. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/7/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/7/ Cours Exercices Slide 1 1. Classes,

Plus en détail

Mémento Design Patterns

Mémento Design Patterns Quelques Design Patterns Mémento Design Patterns Frédéric MOAL Université d Orléans Scope Purpose Creational Structural Behavioral Factory Method Abstract Factory Builder Prototype Singleton Adapter Proxy

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

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

Plus en détail

Java. Java Modeling Language (JML) Qu est-ce que JML? Java (suite) Conception par Contrat. Invariants, Pré-/Postconditions

Java. Java Modeling Language (JML) Qu est-ce que JML? Java (suite) Conception par Contrat. Invariants, Pré-/Postconditions Java Java Modeling Language (JML) Arnaud LANOIX Université Nancy 2 Master1 GL Langage de Programmation Orientée Objet développé par Sun Projet OAK (1991), Java (1995),...Java 1.5 (2004) http://java.sun.com/

Plus en détail

Université Paris Diderot ISIFAR Année 2008-2009. Exceptions et Classes Abstraites

Université Paris Diderot ISIFAR Année 2008-2009. Exceptions et Classes Abstraites Université Paris Diderot JAVA ISIFAR Année 2008-2009 TP n 7 - Correction Exceptions et Classes Abstraites Exercice 1 [Utilisation des Exceptions] La méthode parseint est spécifiée ainsi : public static

Plus en détail

Introduction à la Programmation Orientée Objet

Introduction à la Programmation Orientée Objet Introduction à la Programmation Orientée Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 4 avril 2013 Bertrand Estellon (DII AMU) Introduction à la Programmation

Plus en détail

PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES

PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES I-Présentation Un algorithme de recherche de sous-chaine est un type d'algorithme de recherche qui a pour objectif de trouver une chaîne de caractères

Plus en détail

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION EILCO ING 1 - POO Java Contrôle 2014/2015 Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION Dans ces exercices, nous allons définir une classe Personne qui permettra de gérer

Plus en détail

Conception et programmation orientées objet avancées. Le design pattern Fabrique (factory method)

Conception et programmation orientées objet avancées. Le design pattern Fabrique (factory method) Conception et programmation orientées objet avancées Le design pattern Fabrique (factory method) T. Charnois d'après le cours de D. Bouthinon (L'exemple présenté dans ce cours est tiré du livre Design

Plus en détail

TD2 Programmation concurrentielle

TD2 Programmation concurrentielle TD2 Programmation concurrentielle Développement Logiciel (L2-S4) Lundi 10 février 2014 Exercice 1 (Au bar...) Trois clients se trouvent au bar. Il est tard, ils sont fatigués, et ils s endorment sur le

Plus en détail

Bases de la programmation orientée objet en Java

Bases de la programmation orientée objet en Java Bases de la programmation orientée objet en Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-33 Avant propos Difficultés...

Plus en détail

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 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étail

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform IBM Software Group Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform Thierry Bourrier, Techical Consultant thierry.bourrier@fr.ibm.com L Architecture

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement Mme BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Java Avancé - Cours 1 Solution des exercices

Java Avancé - Cours 1 Solution des exercices Solution des exercices Java Avancé - Cours 1 1/6 Java Avancé - Cours 1 Solution des exercices Liste des exercices: Exercice 1.1 Q1 On utilise les deux constructeurs suivants : java.io.inputstreamreader

Plus en détail

ERRATA - MAGASIN VIRTUEL

ERRATA - MAGASIN VIRTUEL ERRATA - MAGASIN VIRTUEL 1 28 juillet 2005 Entre mars et juillet 2005, un certain nombre d'articles sont parus sur [http://tahe.developpez.com]. Ils avaient pour but de présenter le framework Spring aussi

Plus en détail

E2I- 4 (option HF) CONTRÔLE JAVA 1

E2I- 4 (option HF) CONTRÔLE JAVA 1 E2I- 4 (option HF) CONTRÔLE JAVA 1 Corrigé 1. Les données de type char sont codées en java comme : un octet (code ASCII) deux octets (code ASCII) un octet (code unicode) X deux octets (code unicode) un

Plus en détail

Chapitre 10. Les interfaces Comparable et Comparator 1

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],

Plus en détail

Auto-évaluation Programmation en Java

Auto-é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étail

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306 TP Java RMI Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Paradigme RMI RMI (Remote Method Invocation) RPC orientés objet (encapsulation, héritage,...) objet :

Plus en détail

Programmation Orientée Objet Java

Programmation Orientée Objet Java Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 29 octobre 2015 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 29 octobre

Plus en détail

Programmation en Java Java et XML. NGUYEN Thi Minh Tuyen

Programmation en Java Java et XML. NGUYEN Thi Minh Tuyen Programmation en Java Java et XML XML l'acronyme de «extensible Markup Language». permet d'échanger des données entres applica=ons hétérogènes car il peut modéliser et stocker des données de façon portable.

Plus en détail

Plan du cours. Syntaxe abstraite. Actions sémantiques Exemple : Analyseur d expressions arithmétiques Arbres de syntaxe.

Plan du cours. Syntaxe abstraite. Actions sémantiques Exemple : Analyseur d expressions arithmétiques Arbres de syntaxe. Plan du cours Syntaxe abstraite Martin Odersky 21 et 22 novembre 2005 version 1.0 1 2 3 Syntaxe abstraite Martin Odersky 1 de 31 Syntaxe abstraite Martin Odersky 2 de 31 Un analyseur syntaxique fait généralement

Plus en détail