Aspects Objets avancés dans le langage Java

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Aspects Objets avancés dans le langage Java"

Transcription

1 POO Programmation Impérative Programmation orientée Objet et modélisation UML Aspects Objets avancés dans le langage Java Collections

2 Concepts Objet Avancés Apis Exception classes abstraites Interface observateur Clonage Structures de données récursives Classes internes, classes anonymes Types int.class classe Class Patterns, évènements

3 APIs

4 APIs

5 java.lang Chap VI: Exceptions Object (from java.lang) Throwable Throwable () : void Throwable (message : String) : void tostring () : String printstacktrace () : void getmessage () : String printstacktrace0 (s : Object) : void fillinstacktrace () : Throwable getlocalizedmessage () : String printstacktrace (s : java.io.printstream) : void Error Error () : void Error (s : String) : void Exception Exception () : void Exception (s : String) : LinkageError (from java.lang) ThreadDeath (from java.lang) VirtualMachineError (from java.lang)

6 Sous classes Exception Exception Exception () : void Exception (s : String) : void RuntimeException (from java.lang) ClassNotFoundException (from java.lang) CloneNotSupportedException (from java.lang) NoSuchFieldException (from java.lang) ClassCastException (from java.lang) IndexOutOfBoundsException (from java.lang) NullPointerException (from java.lang) IllegalArgumentException (from java.lang) ArrayIndexOutOfBoundsException (from java.lang) StringIndexOutOfBoundsException (from java.lang) NumberFormatException (from java.lang)

7 Commentaires Quand une exception est levée, les expressions, instructions, méthodes, constructeurs, initialisateurs statiques qui subissent cette exception sont interrompus abruptement jusqu'à ce qu'une déclaration intercepte cette classe d'exception (ou une superclasse de celle ci). Si l'exception n'est pas interceptée la JVM appelle la méthode uncaughtexception sur le ThreadGroup. au fur et à mesure les verrous sont libérés. Error et RunTimeException ne sont pas nécessairement "catchées" soit que cela serait trop lourd soit parfois trop difficile Si on écrit... catch(exception e){.. on récupère donc toutes les exceptions sauf Error.

8 Classes Exception class PilePleineException extends Exception{ PilePleineException(){ PilePleineException(String s){super(s); class PileVideException extends Exception{

9 Exception et Pile class Pile{ private int[] table; private int sommet =-1; public Pile(int taille){ table =new int[taille]; public void empiler(int v) throws PilePleineException { try{ table[++sommet]=v; catch(arrayindexoutofboundsexception e){ throw new PilePleineException(Integer.toString(sommet)); public int depiler()throws PileVideException{ try{return table[sommet--]; catch(arrayindexoutofboundsexception e){throw new PileVideException(); public boolean estvide(){... public boolean estpleine(){... public String tostring(){...

10 Structures de Données Récursives Application au même exemple de pile Structure de donnée générique Généricité, spécialisation et héritage

11 Exercice: Pile de taille libre modélisation objet d une pile de taille «illimitée» Pour les connaisseurs l objectif de cet exercice est de montrer comment java et l approche objet se passent aisément de la notion de pointeur habituellement introduite pour la solution de cet exercice. :Pile taille 2 Maillon sommet sommet :Maillon valeur 2 Maillon souspile souspile :Maillon valeur 8 Maillon souspile

12 Pile d entier de taille libre Pile int taille Maillon sommet int valeur Maillon estvide( ) depiler( ) empiler( ) tostring( ) sommet tostring( ) souspile souspile

13 Maillon class Maillon{ int valeur; Maillon souspile; Maillon(int valeur,maillon souspile){ this.valeur=valeur; this.souspile=souspile; public String tostring(){ return valeur + ((souspile!=null)? ", "+ souspile : "");

14 Pile de taille libre class Pile{ private int taille =0; private Maillon sommet; public void empiler(int v){ sommet=new Maillon(v,sommet); taille++; public int depiler(){ int v=sommet.valeur; sommet=sommet.souspile; taille--; return v; public boolean estvide(){ return taille==0; public String tostring(){ return "[ "+ sommet.tostring() +" ]";

15 Généricité et Classe Object On veut maintenant généraliser notre pile pour qu elle puisse servir de pile d objets et non plus seulement de pile d entiers.

16 Maillon d objets class Maillon{ Object valeur; Maillon souspile; Maillon(Object valeur){ this.valeur=valeur; public String tostring(){ return valeur + ((souspile!=null)? ", "+ souspile : "");

17 class Pile{ int taille =0; Maillon sommet; Pile d Objets public void empiler(object v){ Maillon nouveausommet=new Maillon(v); nouveausommet.souspile=sommet; sommet=nouveausommet; taille++; public Object depiler(){ Object v=sommet.valeur; sommet=sommet.souspile; taille--; return v; public boolean estvide(){ return taille==0; public String tostring(){ return "[ "+ sommet.tostring() +" ]";

18 Empiler les chaines public class PileChaine { public static void main(string[] args){ Pile pile= new Pile(); int i=0; while(i<args.length){ pile.empiler(args[i]); // on empile un objet String System.out.println(i+": "+ args[i]); // polymorphisme i++; i=0; while(i<args.length){ System.out.println(i+": "+ pile.depiler()); //polymorphisme i++;

19 Wrappers des types de base Object (from java.lang) Boolean $ TRUE : Boolean $ FALSE : Boolean Boolean (value : boolean) : void booleanvalue () : boolean tostring () : String Number Character Character (value : char) : void charvalue () : char islowercase (ch : char) : boolean tostring () : String Integer int value; int MIN_VALUE ; int MAX_VALUE; Integer (value : int) : void intvalue () : int Integer (s : String) : void parseint (s : String) : int tostring () : String valueof (s : String) : Integer Float Double (from java.lang)

20 Sous-classe: généricité et polymorphisme public class PileChaine { public static void main(string[] args){ Pile pile= new Pile(); int i=0; while(i<args.length){ pile.empiler(args[i]); // on empile un objet String System.out.println(i+": "+ args[i]); i++; pile.empiler(new Integer(3)); // on empile un objet Integer pile.empiler(new Float(3.0)); i=0; while(!pile.estvide()){ System.out.println(i+": "+ pile.depiler().tostring()); //polymorphisme i++;

21 Sous Classe héritage et surcharge class PileString extends Pile{ public void empiler(string s){ super.empiler(s); public void empiler(object v){ if(v instanceof String) super.empiler(v); else System.out.println("c'est une pile de String et non de "+v.getclass()); public Object depiler(){ return (String)super.depiler(); // deux méthodes ne peuvent différer par le seul type de retour

22 Autre exemple class PileInt extends Pile{ public void empiler(int i){ super.empiler(new Integer(i)); // surcharge public void empiler(object v){ if(v instanceof Integer) super.empiler(v); else System.out.println("c'est une pile d'integer et non de "+v.getclass()); public int depilerint(){ Integer i=(integer)super.depiler(); return i.intvalue(); // deux méthodes ne peuvent différer par le seul type de retour

23 Pile Générique et héritage Pile taille : int estvide () : boolean depiler () : Object empiler (v : Object) tostring () : String #sommet valeur : Object Maillon tostring () : String Maillon (valeur : Object, souspile : Maillon) : souspile ExemplePileChaine PileString PileInt main (args : String[]) pile empiler (s : String) depilerstring () : String empiler (v : Object) empiler (i : int) depilerint () : int empiler (v : Object)

24 Classes Abstraites et Interface

25 Classe Abstraite public class PileAbstraite { public static void main(string[] args){ Pile pile= new PileString(); // la classe est abstraite mais l'instance non... class Maillon{... abstract class Pile{ int taille =0; abstract public void empiler(object v); abstract public Object depiler(); public boolean estvide(){ return taille==0; class PileRécursive extends Pile{ Maillon sommet; public void empiler(object v){... public Object depiler(){... public String tostring(){... class PileString extends PileRécursive {.

26 Interface interface Pile{ void empiler(object v); Object depiler(); boolean estvide();

27 Interface et Compilation séparée L interface permet en particulier de développer en appliquant les techniques de compilation séparée. On développe et compile une interface. interface C{ On développe et compile en parallèle le programme utilisateur et la ou les implémentations des interfaces. public class CompileSeparee{ static public void main(string[] args){ C v; System.out.println("hello");

28 Héritage «multiple» abstract class C { int i; void m1( ){... abstract String m2( );... interface I{ public final static int j=0; int[] p( );... class C1 extends C implements I { String m2(){... int[] p(){......

29 Types et Classes dans l approche Patterns «Un type est un nom utilisé pour caractériser une interface» «Un objet peut avoir de nombreux types» «Des objets différents peuvent partager un même type» Un type hérite de l interface de son super-type Les interfaces sont le fondement des systèmes Orientés objets L implémentation des objets est définie par leur classe La liaison dynamique permet de substituer des objets, les uns aux autres, pourvu que leur interface soit identique (polymorphisme)

30 itérateur java: Enumeration public interface java.util.enumeration { public abstract boolean hasmoreelements(); public abstract Object nextelement();

31 Java: iterateur sur un Vecteur public class java.util.vector extends java.lang.object implements java.lang.cloneable {... public Vector(); public Vector(int initialcapacity); public final void addelement(object obj); public final boolean contains(object elem); public final Object elementat(int index); public final Enumeration elements(); public final Object firstelement(); public final boolean isempty(); public final void removeelementat(int index); public final void setelementat(object obj, int index); public final int size();

32 Java: itérateurs sur une Hashtable public class java.util.hashtable public Hashtable(); extends java.util.dictionary implements java.lang.cloneable { public void clear(); public Object clone(); public boolean contains(object value); public boolean containskey(object key); public Enumeration elements(); public Object get(object key); public boolean isempty(); public Enumeration keys(); public Object put(object key, Object value); public Object remove(object key); public int size(); public String tostring();

33 Iterator et Enumeration Java Client déclare Enumeration nextelement(); hasmoreelements(); Vector Enumeration elements() implémente> EnumerationConcrète nextelement(); hasmoreelements();

34 Exemple class Programme{... Hashtable basedeclauses = new Hashtable(); // ensemble indexé de paquets public String tostring(){ Enumeration e= basedeclauses.elements(); String s=""; while(e.hasmoreelements()){ s += ((Paquet)e.nextElement()).toString()+ rc; return s; boolean existepaquet(string s){ Enumeration e = basedeclauses.keys();... while(e.hasmoreelements()) if( s==e.nextelement()) return true; return false;

35 Clonage public class Object { public final Class getclass(); public String tostring(); public boolean equals(object obj); protected Object clone() throws CloneNotSupportedException;

36 Cloneable protected Object clone() throws CloneNotSupportedException; Par défaut les objets ne sont pas clonables, cette méthode, dont tout objet hérite, teste donc d abord si la classe du receveur implémente l interface Cloneable public interface Cloneable { Si non une exception est levée Si oui elle crée un objet du même type que le receveur et fait une copie superficielle (affectation des champs) (les tableaux implémentent cette interface) La classe Object n implémente pas elle même cette interface Si vous spécialisez clone() vous pouvez faire une copie profonde en appelant cette même méthode sur les attributs «clonabes»

37 Exemple public class Stack implements Cloneable { private Vector items;. protected Object Clone() {//pas obligé de retourner l exception try { Stack s = (Stack)super.clone(); s.items = (Vector)items.clone(); return s; catch (CloneNotSupportedException e) { // this shouldn't happen because Stack is Cloneable throw new InternalError();

38 equals Attention à la méthode public class Object { public boolean equals(object o); protected Object clone() throw CloneNotSupportedException; Par défaut, elle compare les pointeurs et non les contenus clonés

39 Classes internes peuvent apparaître partout au top-level, comme attribut d'une classe, dans un bloc, dans une expression (anonymement) raison d'être: 'adapter' et 'beans' simplifie la connection d'objets entre eux Le nom de classe interne n'est pas utilisable hors de la classe sans préfixer. Le code des classes internes voit directement les noms englobants. les classes internes peuvent être déclarées 'static'. Elles sont alors top-level comme les classes du package. L'avantage dans ce cas réside dans la visibilité des attributs et dans la structuration des classes.

40 Classes internes class Pile{ int taille =0; Maillon sommet; public void empiler(object v){ public String tostring(){... public Enumeration elements(){ return new EnumerationPile(); // classe interne class EnumerationPile implements Enumeration{ Maillon mailloncourant= sommet; // a revoir public boolean hasmoreelements(){ return mailloncourant!= null; public Object nextelement(){ Object valeurderetour = mailloncourant.valeur; mailloncourant=mailloncourant.souspile; return valeurderetour; //

41 Classes anonymes class Pile{... public Enumeration elements(){ return new Enumeration(){ Maillon mailloncourant= sommet; ; public boolean hasmoreelements(){ return mailloncourant!= null; public Object nextelement(){ Object valeurderetour = mailloncourant.valeur; mailloncourant=mailloncourant.souspile; return valeurderetour;

42 Type ou Classe une variable à un type définit à la compilation int, int[], PrintStream, Integer ou String une valeur comme 3 est de type int un objet à une classe (implémentation d'un type) "Hello world" est de classe String.class new int[3] est de classe int[].class

43 classe Class les types primitifs sont eux aussi associés à un objet de classe Class. cet objet est désigné par int.class par exemple pour int. il en existe même un pour void qui pourtant n'est pas un type!!!! On accède également à cet objet par le champ type de la classe wrapper correspondante ex Integer.TYPE Bizarre : void dispose aussi d'une classe wrapper Void (celleci ne peut être instanciée!)

Programmation Par Objets

Programmation Par Objets Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets

Plus en détail

Gestion d exceptions

Gestion d exceptions Gestion d exceptions Quelques classes remarquables de JAVA Emmanuel ADAM Institut des Sciences et Techniques de Valenciennes Université de Valenciennes et du Hainaut-Cambrésis source principale : «Thinking

Plus en détail

cours 4 : programmes fiables

cours 4 : programmes fiables cours 4 : programmes fiables généricité assertions généricité généricité généricité généricité possibilité d écrire des classes paramétrées par d autres classes permet de : écrire un code dépendant d un/de

Plus en détail

Chapitre 7. Exceptions

Chapitre 7. Exceptions Chapitre 7 Exceptions 1 Exceptions en Java Séparation exécution normale/gestion des erreurs Inspiration : C++ et Ada Un composant peut : prendre en charge le problème signaler le problème en levant une

Plus en détail

2. lancer (throw) une exception consiste à la signaler

2. lancer (throw) une exception consiste à la signaler Cours 7 Exceptions 1 1. Une exception est un signal qui indique que quelque chose d'exceptionnel (par exemple une erreur) s est produite qui interrompt le flot d exécution normal du programme 2. lancer

Plus en détail

Exceptions. Qu est ce qu un cas exceptionnel? Principe : détecter le maximum d erreurs à la compilation, mais... pas toujours possible

Exceptions. Qu est ce qu un cas exceptionnel? Principe : détecter le maximum d erreurs à la compilation, mais... pas toujours possible Programmation Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille Principe : détecter le maximum d erreurs à la compilation, mais pas toujours possible Gestion des erreurs

Plus en détail

Programmation non structurée

Programmation non structurée Java et POO Programmation non structurée Construire(Maison m){ creuser; commander(béton) couler les fouilles; commander les parpaings; while(!fini(sous-sol)){poser parpaings; commander(ourdis); while(.

Plus en détail

La Gestion des Exceptions

La Gestion des Exceptions La Gestion des Exceptions Les exceptions Les exceptions représentent le mécanisme de gestion des erreurs intégré au langage Java. Il se compose d'objets représentant les erreurs et d'un ensemble de troismotsclésquipermettentdedétecteretdetraiterceserreurs(try,

Plus en détail

Programmation Par Objets

Programmation Par Objets Programmation Par Objets package java.util utilitaires de Arrays structures de données génériques B. Carré Polytech Lille 1 Utilitaires et collections Java Tableaux intégrés dans le langage : «Objets»

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

Nfp121 Programmation Avancée. L évolution de Java conséquences sur le cours. Java 2

Nfp121 Programmation Avancée. L évolution de Java conséquences sur le cours. Java 2 Nfp121 Programmation Avancée Des Cours, des Exercices dirigés, des devoirs hebdomadaires Cours 1h30 + 0h30 Présentation devoirs Eds 1h30 centrés sur la réponse aux devoirs et compléments L évolution de

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

Nfp121 Programmation Avancée

Nfp121 Programmation Avancée Nfp121 Programmation Avancée Des Cours, des Exercices dirigés, des devoirs hebdomadaires Cours 1h30 + 0h30 Présentation devoirs Eds 1h30 centrés sur la réponse aux devoirs et compléments L évolution de

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

ENSTA : cours IN204 Introduction à JAVA et UML

ENSTA : cours IN204 Introduction à JAVA et UML ENSTA : cours IN204 Introduction à JAVA et UML Thierry Bommart DASSAULT AVIATION DGT/DPR/EOS thierry.bommart@dassault-aviation.fr 01.47.11.54.93 Page : 1 Plan Ecole Nationale Supérieure de Techniques Avancées

Plus en détail

Les exceptions. Cours 12. vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException...

Les exceptions. Cours 12. vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException... Cours 12 Les exceptions vous les avez pratiquées sans le savoir... ArrayIndexOfBoundsException NullPointerException ClassNotFoundException... F.Gayral 1 Les exceptions, vous connaissez... public class

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

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

LMI 2. Programmation Orientée Objet POO - Cours 7. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 7. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 7 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Facult e des Sciences - Univ. Artois Janvier 2011 Exceptions

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

Les exceptions en java

Les exceptions en java 1/12 Les exceptions en java 2/12 C'est quoi une exception? Une exception est un événement (une erreur) qui se produit lors de l'exécution d'un programme, et qui va provoquer un fonctionnement anormal (par

Plus en détail

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions.

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions. Fiabilité d un logiciel Exceptions Université Française d Egypte Version O 5.7 5/10/15 Richard Grin Robustesse : fonctionne correctement, même en présence d événements exceptionnels Correction : donne

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

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr CCI - Initiation à Java E.Coquery emmanuel.coquery@liris.cnrs.fr Présentation du langage Outline 1 Présentation du langage 2 Types de données primitifs 3 Objets Présentation du langage Un langage orienté

Plus en détail

Programmation Orientée Objet. Exceptions et assertions

Programmation Orientée Objet. Exceptions et assertions Programmation Orientée Objet Exceptions et assertions Julien Provillard http://www.i3s.unice.fr/~provilla/poo/ julien.provillard@unice.fr Robustesse et Exceptions Error, RuntimeException Exceptions (non)

Plus en détail

LES FICHIERS. 1-169169 JAVA Christine BONNET

LES FICHIERS. 1-169169 JAVA Christine BONNET 12 LES FICHIERS 1-169169 JAVA Christine BONNET LES FLOTS Package java.io La gestion des E/S s'effectue à l'aide des flots. Un stream (flot) représente un canal de communication ( écran, fichier, pipe,

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

PARADIGME ORIENTÉ-OBJET

PARADIGME ORIENTÉ-OBJET PARADIGME ORIENTÉ-OBJET A programming paradigm that uses objects to design systems. Sébastien Adam Une introduction des concepts de base 2 Principes fondamentaux Modularité : vise à répartir les opérations

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

Solutions du chapitre 14

Solutions du chapitre 14 Solutions du chapitre 14 Traitement des exceptions 14.16 Sous quelles circonstances utiliseriez-vous l instruction suivante? catch ( Exception e ) { throw e; } Cette instruction sert à capturer toute exception

Plus en détail

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes

Plus en détail

Programmer avec les exceptions en Java

Programmer avec les exceptions en Java Programmer avec les exceptions en Java Premier Cycle Cours Eurinsa 2002 (c) P.Pollet 05/12/2002 Java 2001 (PP) 1 Plan Gestion traditionnelle des erreurs d exécution Qu est-ce qu une exception? La classe

Plus en détail

Epreuve de Programmation Orientée Objet 2ème année de Licence Informatique

Epreuve de Programmation Orientée Objet 2ème année de Licence Informatique Epreuve de Programmation Orientée Objet 2ème année de Licence Informatique 1er juin 2007 Durée : 3 heures. Seule la documentation des classes java.util.list et java.util.arraylist distribuée est autorisée.

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

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

ITI 1521. Introduction à l informatique II

ITI 1521. Introduction à l informatique II ITI 1521. Introduction à l informatique II Marcel Turcotte École d ingénierie et de technologie de l information Version du 14 février 2011 Résumé Traitement d erreurs en Java : Déclaration, gestion, création

Plus en détail

Programmation orientée objet TP 1 Prise en main de l environnement Java

Programmation orientée objet TP 1 Prise en main de l environnement Java Programmation orientée objet TP 1 L2 MPCIE Prise en main de l environnement Java Exercice 1 Nous désirons développer un programme pour la gestion (très simplifiée) d'un parc de véhicules destinés à la

Plus en détail

Java - Historique. Une introduction à Java. Premier exemple. Aperçu de Java. Processus d obtention d un exécutable. Compilation/interprétation

Java - Historique. Une introduction à Java. Premier exemple. Aperçu de Java. Processus d obtention d un exécutable. Compilation/interprétation Java - Historique Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

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

Modélisation Objet. Introduction à JAVA. Georges Linares IUP GMI Université d Avignon et des Pays de Vaucluse

Modélisation Objet. Introduction à JAVA. Georges Linares IUP GMI Université d Avignon et des Pays de Vaucluse Modélisation Objet Introduction à JAVA Historique Les langages objets Simula 67 (trop tôt) Smalltalk 80 : purement objet Objective C : extension du C, esprit Smalltalk C++ : extension du c; le plus utilisé

Plus en détail

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

Exception en Java. Le principe général des exceptions. La syntaxe des exceptions.

Exception en Java. Le principe général des exceptions. La syntaxe des exceptions. Exception en Java. Exception en Java....1 Le principe général des exceptions...1 La syntaxe des exceptions....1 La hiérarchie des exceptions:...2 Exemple d'exception....3 Exception et signature de service....4

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

Informatique / Programmation

Informatique / Programmation Informatique / Programmation Programmation orientée objet avec Java 06 : Les exceptions et leur traitement Jacques Bapst jacques.bapst@hefr.ch Exceptions Les exceptions représentent des événements qui

Plus en détail

Arité variable, énumérations. Arité variable. Arité des méthodes. Utilisation de la surcharge

Arité variable, énumérations. Arité variable. Arité des méthodes. Utilisation de la surcharge Arité variable, énumérations Théorie et pratique de la programmation Michel Schinz 2013-05-13 Arité variable 1 2 Arité des méthodes Utilisation de la surcharge Il est parfois utile d'offrir des méthodes

Plus en détail

Chapitre 1. 1.1 types primitifs. 1.2 Casting

Chapitre 1. 1.1 types primitifs. 1.2 Casting Chapitre 1 Généralités 1.1 types primitifs byte (1 octet) peut contenir les entiers entre -128 et +127. short (2 octets) contient les entiers compris entre -32768 et +32767. int (4 octet) va de -2*10e9

Plus en détail

Java Avancé. Les exceptions. Rémi Forax forax@univ-mlv.fr

Java Avancé. Les exceptions. Rémi Forax forax@univ-mlv.fr Java Avancé Les exceptions Rémi Forax forax@univ-mlv.fr 1 Les Exceptions Mécanisme qui permet de reporter des erreurs vers les méthodes appelantes. Problème en C : prévoir une plage de valeurs dans la

Plus en détail

Jérôme Bougeault. Tsoft & Groupe Eyrolles, 2003, ISBN 2-212-11352-8

Jérôme Bougeault. Tsoft & Groupe Eyrolles, 2003, ISBN 2-212-11352-8 Jérôme Bougeault Tsoft & Groupe Eyrolles, 2003, ISBN 2-212-11352-8 Principe des exceptions dans Java La hiérarchie des exceptions Propagation des exceptions Les exceptions métier Atelier Objectifs Le mécanisme

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

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

Les exceptions en Java

Les exceptions en Java Chapitre 6 Les exceptions en Java Lorsqu on conçoit un programme, on essaie évidemment qu il soit correct, c est-à-dire qu il fonctionne parfaitement dans les conditions prévues de son utilisation. L utilisateur

Plus en détail

1 Les arbres binaires en Java

1 Les arbres binaires en Java Université de Nice-Sophia Antipolis Deug MIAS-MI 1 Algorithmique & Programmation 2002 2003 TP N 10 Arbres binaires Buts : structuration des arbres binaires en Java. classes internes. objets de parcours.

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

this Vs. static Introduction Utilisation de this

this Vs. static Introduction Utilisation de this Introduction this Vs. static Si vous avez essayé d écrire d importants programmes Java multi-classes, vous avez certainement eu des problème de communication entre plusieurs classes. Pour appeler à partir

Plus en détail

I21 Algorithmique et programmation II. David Gross-Amblard, Joël Savelli IEM-uB 2008-2009 - GFDL 1.2 CM 5/8 v2

I21 Algorithmique et programmation II. David Gross-Amblard, Joël Savelli IEM-uB 2008-2009 - GFDL 1.2 CM 5/8 v2 I21 Algorithmique et programmation II David Gross-Amblard, Joël Savelli IEM-uB 2008-2009 - GFDL 1.2 CM 5/8 v2 II. Programmation par objet 1. Motivation 2. Encapsulation 3. Héritage 4. Initiation à la modélisation

Plus en détail

Exercice 1 (API Java)

Exercice 1 (API Java) Programmation orientée objet TP 3 L2 MPCIE API Java, Paquetages Exercice 1 (API Java) 1. Écrire la classe Ensemble comme étant une collection d'éléments ne contenant pas de doublon. Elle sera donc implémentée

Plus en détail

Listes de personnes et calculatrice polonaise inverse en Java

Listes de personnes et calculatrice polonaise inverse en Java Listes de personnes et calculatrice polonaise inverse en Java Université Paris Sud Motivation Le but de cet exercice est de manipuler les listes chaînées et les piles et de voir leur application en analyse

Plus en détail

Le Langage Java et le Monde des Objets

Le Langage Java et le Monde des Objets . p.1 Le Langage Java et le Monde des Objets Les principes de la modélisation Orientée Objet. Qu est-ce qu une classe?. Les types de base. Utiliser les classes. Les tentacules de Java. . p.2 Bibliographie

Plus en détail

Programmation Java Avancée

Programmation Java Avancée Programmation Java Avancée Module RPCI01 Département R&T IUT de Villetaneuse 2 novembre 2015 Département R&T Programmation Java Avancée 2 novembre 2015 1 / 74 Plan du cours 1 La gestion des exceptions

Plus en détail

réduit l effort de programmation améliore la qualité et les performances du programme permet l interopérabilité d API

réduit l effort de programmation améliore la qualité et les performances du programme permet l interopérabilité d API Collection 1 Collection (conteneur) est un objet qui regroupe plusieurs éléments en une seule unité une collection peut être utilisée pour stocker et manipuler des données et pour transmettre des données

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

Université de Bourgogne - UFR Sciences et Technique - Programmation objet - LPSIL - 2013

Université de Bourgogne - UFR Sciences et Technique - Programmation objet - LPSIL - 2013 Nom : Prénom : Contrôle continu n 4 Programmation objet Vous devez répondre dans les cadres aux questions posées. Documents de cours et notes personnelles autorisés. Téléphones portables, ordinateurs et

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

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

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012 Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Correction de l examen écrit de

Plus en détail

Cours JAVA : La fiabilité en Java

Cours JAVA : La fiabilité en Java Cours JAVA : La fiabilité en Java Version 1.02 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle DANT - 2015/2016

Plus en détail

Programmation Orientée Objet - Licence TIS CM2/9

Programmation Orientée Objet - Licence TIS CM2/9 Programmation Orientée Objet - Licence TIS CM2/9 Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.fr Poitiers, le 13/01/2006 1 2 3 4 5 Rappel sur la séance précédente La fois précédente, nous avons

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Syntaxe du langage JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA)

Syntaxe du langage JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Syntaxe du langage JAVA Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Structure du langage Les types primitifs boolean(true/false), byte (1 octet), char (2 octets), short (2 octets), int (4 octets),

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

ENSEIRB. Rapport du Projet POO. Equipe FFGB : FRESNAIS Marie GRIMAUD Pierre LUCAZEAU Claire MARIN Jean-Baptiste PINSOLLE Cédric

ENSEIRB. Rapport du Projet POO. Equipe FFGB : FRESNAIS Marie GRIMAUD Pierre LUCAZEAU Claire MARIN Jean-Baptiste PINSOLLE Cédric ENSEIRB Rapport du Projet POO Equipe FFGB : FRESNAIS Marie GRIMAUD Pierre LUCAZEAU Claire MARIN Jean-Baptiste PINSOLLE Cédric Enseignant : M. Eyrolles RSI7 Année scolaire : 2009/2010 Sommaire 1. Lever

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

Arbres binaires. Illustration avec des arbres binaires de décision Généricité bornée Synthèse sur les assertions et les exceptions

Arbres binaires. Illustration avec des arbres binaires de décision Généricité bornée Synthèse sur les assertions et les exceptions Arbres binaires Illustration avec des arbres binaires de décision Généricité bornée Synthèse sur les assertions et les exceptions FMIN220 Structures de données Université de Montpellier 2015 FMIN220 (UM)

Plus en détail

Chapitre V. Les classes : Object, Vector, etc.

Chapitre V. Les classes : Object, Vector, etc. Chapitre V Les classes de base Les classes : Object, Vector, etc. Plan La classe Object Les collections La classe ArrayList La classe Vector Les classes Wrappers Les classes String et StringBuffer La classe

Plus en détail

Tableaux. Tableaux en Java (introduction)

Tableaux. Tableaux en Java (introduction) en Java (introduction) Avertissement : ce cours ne présente qu une version «édulcorée» des tableaux. Ne sont abordés que les tableaux de types primitifs et tous les aspects «objets» sont masqués. Philippe

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

Programmer avec Java. Chapitre 1. 1.1 Modularité. 1.1.1 Motivation

Programmer avec Java. Chapitre 1. 1.1 Modularité. 1.1.1 Motivation Chapitre 1 Programmer avec Java Ce chapitre ne se propose pas comme une description exhaustive de Java, mais plutôt comme un guide à l utilisation de certains traits avancés, comme l héritage et les classes

Plus en détail

Examen 1 ère session 2012-2013 page 1 NFA 031 - Programmation JAVA Formation CNAM

Examen 1 ère session 2012-2013 page 1 NFA 031 - Programmation JAVA Formation CNAM Examen 1 ère session 2012-2013 page 1 NFA 031 - Programmation JAVA IPST-CNAM Programmation JAVA NFA 001 Mercredi 13 Février 2013 Avec document Durée : 2 h30 Enseignant : LAFORGUE Jacques 1 ère Session

Plus en détail

Développé par SunSoft pour réaliser le développement de systèmes embarqués. Évolution gérée par JavaSOFT (SunSoft)

Développé par SunSoft pour réaliser le développement de systèmes embarqués. Évolution gérée par JavaSOFT (SunSoft) Le langage JAVA Sommaire Introduction à Java La syntaxe Les concepts Objet Classes, méthodes, attributs Héritage, polymorphisme, encapsulation Les interfaces Les classes de base Les exceptions Les entrées-sorties

Plus en détail

Année 2008-2009. Les exceptions Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.

Année 2008-2009. Les exceptions Java. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed. Année 2008-2009 Les exceptions Java Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Introduction Supposez que vous écrivez un programme qui accède

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

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

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

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

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

Objectifs du cours: Gestion des exceptions. CSI1502 Principes fondamentaux en conception des logiciels. Prise en charge d`exception en Java

Objectifs du cours: Gestion des exceptions. CSI1502 Principes fondamentaux en conception des logiciels. Prise en charge d`exception en Java CSI1502 Principes fondamentaux en conception des logiciels Chapter 8: Gestion des exceptions Objectifs du cours: Gestion des exceptions Comprendre ce qui suit: Le fonctionnement de «try-catch» Propagation

Plus en détail

Programmation Orientée Objet. Langage Java tm

Programmation Orientée Objet. Langage Java tm Programmation Orientée Objet tm Langage Java tm Manuel Munier IUT des Pays de l Adour - Mont de Marsan Département RT 2012-2013 Plan du cours Programmation Orientée Objet (POO) modularité, encapsulation

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

Pour cet examen, vous disposez de la classe Voiture, incomplète, qui suit :

Pour cet examen, vous disposez de la classe Voiture, incomplète, qui suit : UNIVERSITÉ DE MONTRÉAL FACULTÉ DES ARTS ET DES SCIENCES DIRECTION DE L ENSEIGNEMENT DE SERVICE EN INFORMATIQUE COURS : IFT 1170 EXAMEN INTRA DATE : 4 juin 2009 CHARGÉ DE COURS : Michel Reid DURÉE : 2 heures

Plus en détail

Facultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object

Facultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object Facultés Universitaires Notre-Dame de la Paix Conception et Programmation Orientées- Object 2008-2009 RÉSUMÉ PRATIQUE... 4 CLASSE OBJET... 4 NOTION D HÉRITAGE... 4 LE POLYMORPHISME... 5 LES CLASSES ABSTRAITES...

Plus en dé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

Java : Programmation Impérative

Java : Programmation Impérative 1 Java : Programmation Impérative Résumé du cours précédent (I11) Paradigme impératif Algorithmique simple Découpage fonctionnel Qu est-ce qu un programme informatique? / un langage de programmation? /

Plus en détail

Les tableaux ne sont pas ni des objets ni des types simples.

Les tableaux ne sont pas ni des objets ni des types simples. Cours 5 Tableaux Tableaux à 2 dimensions Tableaux d objets POO 1 Les tableaux ne sont pas ni des objets ni des types simples. Un tableau se rapproche d un objet Il est manipulé par référence (adresse)

Plus en détail

Gestion des exceptions

Gestion des exceptions Noël Macé Formateur et Consultant indépendant expert Unix et FOSS http://www.noelmace.com Structures de contrôle Gestion des exceptions Licence Creative Commons Ce(tte) œuvre est mise à disposition selon

Plus en détail

La définition de la classe Test est incomplète, pour définir une classe, il faut mettre deux accolades qui contiennent la définition de

La définition de la classe Test est incomplète, pour définir une classe, il faut mettre deux accolades qui contiennent la définition de Ex 1 1- On crée un fichier Test.java qui contient seulement : public class Test Que se passe t'il si on cherche à le compiler? La définition de la classe Test est incomplète, pour définir une classe, il

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

UML Conception Héritage. Emmanuel Pichon 2013

UML Conception Héritage. Emmanuel Pichon 2013 UML Conception Héritage 2013 Héritage (generalization) Sens Relation d implémentation permettant la réutilisation des caractéristiques d une classe (attributs, opérations et associations) Notation UML

Plus en détail

Analyse statique de programmes Typage et analyse statique au sein de Java

Analyse statique de programmes Typage et analyse statique au sein de Java Analyse statique de programmes Typage et analyse statique au sein de Java Master Professionnel Informatique spécialité FSIL/FSI Jean-Marc Talbot jean-marc.talbot@lif.univ-mrs.fr Aix-Marseille Université

Plus en détail

TP de Java Exceptions et E/S. catch (IOException ioe) { System.out.println(" E/S problem :" + ioe);

TP de Java Exceptions et E/S. catch (IOException ioe) { System.out.println( E/S problem : + ioe); TP de Java Exceptions et E/S Sujets abordés dans ce TP : Bloc try/catch/finally Déclenchement d exception Redéfinition d exception Taxonomie des exceptions Gestion de fichiers Tokenizer 1) Les erreurs

Plus en détail

INF421-a Bases de la programmation et de l algorithmique. (Bloc 1 / 9) Philippe Baptiste. CNRS LIX, École Polytechnique

INF421-a Bases de la programmation et de l algorithmique. (Bloc 1 / 9) Philippe Baptiste. CNRS LIX, École Polytechnique INF421-a Bases de la programmation et de l algorithmique (Bloc 1 / 9) Philippe Baptiste 26 août Philippe Baptiste: INF421-a, Bloc 1, 1/ 54 Organisation du cours 9 blocs, soit 9 vendredis : Amphi de 10h30

Plus en détail