Introduction à la Programmation Orientée Objet

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Introduction à la Programmation Orientée Objet"

Transcription

1 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 Objet 4 avril / 34

2 Rappel : Les objets et les classes Un objet : contient des données (état de l objet) ; rend un ensemble de services (interface de l objet). Une classe est un moule pour fabriquer des objets et : définit les méthodes (c est-à-dire les services) ; décrit la structure des données. Un objet créé à partir d une classe A est une instance de la classe A. Les références des instances vont pouvoir être stockées dans des variables. Nous allons pouvoir interagir avec ces instances via ces variables. Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

3 Abstraction Supposons que des classes implémentent un service de façons différentes : class Printer1 { void print(string s) { System.out.println(s); class Printer2 { void print(string s) { System.out.println("{"+s+""); Les instances de ces classes possèdent la méthode print(string s). Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

4 Abstraction Nous souhaiterions pouvoir facilement passer du code suivant : Printer printer = new Printer1(); printer.print("truc"); // "truc"; au code suivant : Printer printer = new Printer2(); printer.print("truc"); // "{truc"; Le type Printer doit uniquement contraindre la variable à contenir des références vers des objets qui implémentent la méthode print. Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

5 Abstraction On peut vouloir traiter des objets en utilisant les services qu ils partagent : for (int i = 0 ; i < printers.length ; i++) printers[i].print(s); On peut aussi vouloir écrire un programme en supposant que les objets manipulés implémentent certains services : boolean estordonne(comparable[] tab) { for (int i = 0 ; i < tab.length - 1 ; i++) if (tab[i].compareto(tab[i+1]) > 0) return false ; return true ; Notez que cette méthode détermine si le tableau est ordonné. Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

6 Description d une interface Description d une interface en Java : public interface Printer { /** * Affiche la chaine de caracteres s. s la chaine a afficher. */ public void print(string s); Une interface peut contenir une ou plusieurs méthodes. Une interface doit être vue comme un contrat entre celui qui utilise les objets et celui qui les implémente. Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

7 Implémentation d une interface Le mot-clé Printer indique que la classe implémente l interface : class Printer1 implements Printer { void print(string s) { System.out.println(s); class Printer2 implements Printer { void print(string s) { System.out.println("{"+s+""); Java vérifie que toutes les méthodes de l interface sont implémentées. Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

8 Références et interfaces Déclaration d une variable de type référence vers une instance d une classe qui implémente l interface Printer : Printer printer ; Il n est pas possible d instancier une interface : Printer printer = new Printer(); // interdit! printer.print("toto"); // car que faire ici? Il est possible d instancier une classe qui implémente une interface : Printer1 printer1 = new Printer1(); et de mettre la référence dans une variable de type Printer : Printer p1 = printer1 ; // Transtypage vers le haut Printer p2 = new Printer2(); // ou upcasting Printer p3 = new String("c") // interdit! Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

9 Références et interfaces Utilisation d objets qui implémentent l interface : class Utils { void printstring(printer[] printers, String s) { for (int i = 0 ; i < printers.length ; i++) printers[i].print(s); void printarray(string[] array, Printer printer) { for (int i = 0 ; i < array.length ; i++) printer.print(array[i]); Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

10 Polymorphisme Vérification à la compilation de l existence des méthodes : Printer printer = new Printer(); printer.println("msg"); // impossible! Le choix de la méthode à exécuter ne peut être fait qu à l exécution : Printer[] printers = new Printer[2]; printers[0] = new Printer1(); printers[1] = new Printer2(); Random r = new Random(); // générateur aléatoire. int i = r.nextint(2); // tirage d'un nombre entre 0 et 1. printers[i].print("mon message"); i=0 méthode de la classe Printer1 mon message i=1 méthode de la classe Printer2 {mon message Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

11 Résumé Une interface est un ensemble de signatures de méthodes. Une classe peut implémenter une interface : elle doit préciser le comportement de chacune des méthodes de l interface. Il est possible de déclarer une variable pouvant contenir des références vers des instances de classes qui implémentent l interface. Java vérifie à la compilation que toutes les affectations et les appels de méthodes sont corrects. Le choix du code qui va être exécuté est décidé à l exécution (en fonction de l instance pointée par la référence). Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

12 Implémentations multiples interface Printable { public void print(); La méthode print permet d afficher l objet. interface Stack { public void push(int v); public int pop(); La méthode push permet d empiler un entier. La méthode pop dépile et retourne l entier en haut de la pile. Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

13 Implémentations multiples Implémentation des deux interfaces précédentes : public class PrintableStack implements Stack, Printable { private int[] array ; private int size ; public PrintableStack(int capacity) { array = new int[capacity]; size = 0 ; public void push(int v) { array[size] = v ; size++; public int pop() { size--; return array[size]; public void print() { for (int i = 0 ; i < size ; i++) System.out.print(array[i]+" "); System.out.println(); Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

14 Implémentations multiples Implémentation d une des deux interfaces : public class PrintableString implements Printable { private String s ; public PrintableString(String s) { this.s = s ; public void print() { System.out.println(s); Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

15 Implémentations multiples Exemple d utilisation des classes précédentes : Printable[] printables = new Printable[3]; printables[0] = new PrintableString("bonjour"); PrintableStack stack = new PrintableStack(10); printables[1] = stack ; printables[2] = new PrintableString("salut"); stack.push(10); stack.push(30); System.out.println(stack.pop()); stack.push(12); for (int i = 0 ; i < printables.length ; i++) printables[i].print(); Qu écrit ce programme sur la sortie standard? Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

16 Vérification des types Vérification des types à la compilation : Stack[] arraystack = new Stack[2]; arraystack[0] = new PrintableStack(); arraystack[1] = new PrintableString("t"); // Erreur! PrintableString n implémente pas Stack. Stack stack = new PrintableStack(); Printable printable = stack ; // Erreur! Le type Stack n est pas compatible avec le type Printable. Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

17 Exemple : Arbre binaire public interface Node { public String converttostring(); public class Leaf implements Node { private String name ; public Leaf(String name) { this.name = name ; public String converttostring() { return name ; Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

18 Exemple : Arbre binaire public class InternalNode implements Node { private Node left, right ; // Agrégation public InternalNode(Node left, Node right) { this.left = left ; this.right = right ; public String converttostring() { return "(" + left.converttostring() + "," + right.converttostring() + ")" ; Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

19 Exemple : Arbre binaire public class Exemple { public static void main(string[] args) { Node n1 = new Leaf("a"); Node n2 = new Leaf("b"); Node n3 = new Leaf("c"); Node n4 = new Leaf("d"); Node n5 = new InternalNode(n1, n2); Node n6 = new InternalNode(n3, n4); Node n7 = new InternalNode(n5, n6); System.out.println(n7.convertToString()); Qu affiche ce programme? Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

20 Exemple : Arbre binaire et Printer public interface Node { public void print(printer printer); public class Leaf implements Node { private String name ; public Leaf(String name) { this.name = name ; public void print(printer printer) { printer.print(name); Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

21 Exemple : Arbre binaire et Printer public class InternalNode implements Node { private Node left, right ; public InternalNode(Node left, Node right) { this.left = left ; this.right = right ; public void print(printer printer) { left.print(printer); right.print(printer); Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

22 Exemple : Arbre binaire et Printer public class Exemple { public static void main(string[] args) { Node n1 = new Leaf("a"); Node n2 = new Leaf("b"); Node n3 = new InternalNode(n1, n2); n3.print(new Printer1()); n3.print(new Printer2()); Qu affiche ce programme? Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

23 Exemple : Les objets comparables de Java L interface Comparable<T> permet de définir un ordre total sur les instances d une classe. Elle contient la méthode compareto(t e) : public class Pair implements Comparable<Pair> { public int e1, e2 ; public Pair(int e1, int e2) { this.e1 = e1 ; this.e1 = e2 ; public int compareto(pair p) { if (e1 + e2 < p.e1 + p.e2) return -1 ; if (e1 + e2 > p.e1 + p.e2) return 0 ; return 0 ; Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

24 Exemple : Les objets comparables de Java On peut également écrire : public class Pair implements Comparable<Pair> { public int e1, e2 ; public Pair(int e1, int e2) { this.e1 = e1 ; this.e1 = e2 ; public int compareto(pair p) { return (e1 + e2) - (p.e1 + p.e2); Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

25 Exemple : Les objets comparables de Java Les algorithmes de tris de Java peuvent ensuite utiliser cette ordre : List<Pair> pairs = new ArrayList<Pair>(); pairs.add(new Pair(2,5)); pairs.add(new Pair(4,2)); pairs.add(new Pair(1,2)); Collections.sort(pairs); System.out.println(pairs); Après le tri, les éléments de la liste sont dans cet ordre : [(1,2), (4,2), (2,5)] Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

26 Classes anonymes Il est possible d implémenter directement une interface dans le code : public class Exemple { public static void main(string[] args) { Node n = new Leaf("a"); Printer printer = new Printer() { // implémentation des méthodes de l'interface public void print(string s) { System.out.println("("+s+")"); ; n.print(printer); Une telle classe est dite anonyme car on ne lui associe pas de nom. Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

27 Classes anonymes Bien évidemment, la variable intermédiaire n est pas nécessaire : public class Exemple { public static void main(string[] args) { Node n = new Leaf("a"); n.print(new Printer() { // implémentation des méthodes de l'interface public void print(string s) { System.out.println("("+s+")"); ); Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

28 Classes anonymes et Java Un autre exemple d utilisation des classes anonymes : List<String> list = new ArrayList<String>(); list.add("truc"); list.add("machin"); list.add("chose"); Collections.sort(list, new Comparator<String>() { public int compare(string s1, String s2) { int l1 = s1.length(); int l2 = s2.length(); if (s1.length() < s2.length()) return -1 ; if (s1.length() > s2.length()) return 1 ; return 0 ; ); Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

29 Classes anonymes et Java Dans ce cas, il est également possible d écrire : List<String> list = new ArrayList<String>(); list.add("truc"); list.add("machin"); list.add("chose"); Collections.sort(list, new Comparator<String>() { public int compare(string s1, String s2) { return s1.length() - s2.length(); ); Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

30 Transtypage Il est possible de forcer une conversion de type : Printer printer = new Printer1(); // l'upcasting est toujours correct // donc nous n'avons pas besoin d'opérateur. Printer1 printer1 = (Printer1)printer ; // utilisation de l'opérateur de transtypage // car nous ne faisons pas un upcasting. Attention, un transtypage peut échouer (à l exécution) : Printer printer = new Printer2(); Printer1 printer1 = (Printer1)printer ; // Erreur String s = "toto" ; Printer printer = (Printer)s ; // Erreur Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

31 Résumé Dans ce cours, nous avons vu : Description d une interface ; Implémentation d une interface ; Références vers une classe implémentant une interface ; Implémentation de plusieurs interfaces ; Polymorphisme ; Classes anonymes ; Transtypages. Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

32 Structures de données Java Des interfaces sont associées aux structures de données : Collection<V> : Groupe d éléments List<V> : Liste d éléments ordonnés et accessibles via leur indice Set<V> : Ensemble d éléments uniques Queue<V> : Une file d éléments (FIFO) Deque<V> : Une file à deux bouts (FIFO-LIFO) Map<K,V> : Ensemble de couples clé-valeur. Il est préférable d utiliser les interfaces pour typer les variables : List<Integer> l = new ArrayList<Integer>(); car on peut changer la structure de données facilement : List<Integer> l = new LinkedList<Integer>(); Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

33 Extension d une interface Étendre une interface ajouter des méthodes à une interface existante afin de définir une nouvelle interface qui propose plus des services. L interface List<V> étend l interface Collection<V> : Une liste est une collection ordonnée donc on peut accéder aux i ème élément d une liste (par exemple). Une liste reste une collection donc tous les services proposées par l interface Collection restent valables. Pour étendre une interface, on utilise le mot-clé extends : public interface Shape { public double getarea(); public interface Rectangle extends Shape { public double getwidth(); public double getheight(); Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

34 Extension d une interface Une liste est une collection donc il est possible d écrire : Collection<Integer> collection = new ArrayList<Integer>(); Sur collection, seuls les méthodes de l interface Collection sont disponibles. Par conséquent, il est possible de remplacer la struture de données qui gère la collection en étant certain que le code fonctionne encore : Collection<Integer> collection = new HashSet<Integer>(); Remarques : Le code reste fonctionnel car les classes HashSet et ArrayList respectent le contrat de l interface Collection. Lors de l implémentation d une interface, respectez le contrat. Bertrand Estellon (DII AMU) Introduction à la Programmation Objet 4 avril / 34

Rappel : Les objets et les classes. Programmation Orientée Objet Java. Abstraction. Abstraction

Rappel : Les objets et les classes. Programmation Orientée Objet Java. Abstraction. Abstraction Rappel : Les objets et les classes Programmation Orientée Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 21 septembre 2016 Un objet : peut être construit est

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é 12 novembre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 12 novembre

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

Les tableaux. Programmation Orientée Objet Java. Références et Garbage Collector. Les tableaux

Les tableaux. Programmation Orientée Objet Java. Références et Garbage Collector. Les tableaux Les tableaux Déclaration d une variable de type référence vers un tableau : Programmation Orientée Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 29 octobre 2015

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

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

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

Utilisation. Agrégation

Utilisation. Agrégation Utilisation Une méthode peut utiliser les propriétés et méthodes d une autre instance : Programmation et Conception Orientées Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille

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

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

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

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

FMIN110- GMIN327. Tableaux (suite) et ArrayList 2014

FMIN110- GMIN327. Tableaux (suite) et ArrayList 2014 FMIN110- GMIN327 Tableaux (suite) et ArrayList 2014 Rappels Tableau : colleccon de valeurs d un même type ordonnées et indexées Type : primicf (int, char,..) ou Classe (String, Appt,..) DéclaraCon d un

Plus en détail

Cours 13. Les classes abstraites Les méthodes abstraites Les interfaces. F. Gayral 1

Cours 13. Les classes abstraites Les méthodes abstraites Les interfaces. F. Gayral 1 Cours 13 Les classes abstraites Les méthodes abstraites Les interfaces F. Gayral 1 Un exemple pour mieux comprendre Pas d'instanciation d'un humain : un humain, c'est - soit un homme - soit une femme Humain

Plus en détail

Analyse lexicale 2014-2015

Analyse lexicale 2014-2015 Analyse (lexicale, syntaxique) L3 MIAGE Analyse lexicale Université de Lille, France 2014-2015 1 Rappels Rôle de l analyse lexicale Outils 2 Mise en oeuvre Lexème Vers l analyseur syntaxique Codage d un

Plus en détail

Plan. Conseils de Programmation. Types et Classes. Exemple: fraction. Méthodes. Variables locales:

Plan. Conseils de Programmation. Types et Classes. Exemple: fraction. Méthodes. Variables locales: Plan Conseils de Programmation Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III Types et classes Un exemple de classe Les erreurs en Java L héritage en Java Types primitifs Tableaux Classes:

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance 5 de cours/td Université Paris-Diderot Objectifs: Boucles while. Variables booléennes. 1 La boucle while Boucle non bornée [Cours] La boucle non bornée permet de

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

Informatique / Programmation

Informatique / Programmation Informatique / Programmation Programmation orientée objet avec Java 13 : Classes abstraites et interfaces Jacques Bapst jacques.bapst@hefr.ch Classes et méthodes abstraites Une classe abstraite est une

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

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

Déclaration et Implémentation d'une classe

Déclaration et Implémentation d'une classe Définir et Instancier une classe en Java Déclaration et Implémentation d'une classe En algorithmique (comme en C++ la plupart du temps), l'écriture du corps des méthodes (implémentation) se fait après

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

Programmation Orientée Objet

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

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

U.F.R Mathématiques de la Décision. Programmation objet. Partie II. André Casadevall

U.F.R Mathématiques de la Décision. Programmation objet. Partie II. André Casadevall U.F.R Mathématiques de la Décision Programmation objet Partie II André Casadevall Mai 2001 p. 2 AJ.C 12 juin 2001 Table des matières 3 Héritage 5 3.1 Introduction - L héritage, qu est-ce que c est?......................

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 11: Récursivité. Qu est-ce que la récursivité? Penser récursivement. Définition récursive d une liste

Chapitre 11: Récursivité. Qu est-ce que la récursivité? Penser récursivement. Définition récursive d une liste Chapitre 11: Récursivité CSI150 Introduction au génie logiciel Chapitre 11: Récursion La récursivité est une technique fondamentale de programmation qui permet de résoudre élégamment certains types de

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

Concept de classes (1) Classes et objets en Java Master Informatique 1 ère année. Concept de classes (2) Concept de classes (3)

Concept de classes (1) Classes et objets en Java Master Informatique 1 ère année. Concept de classes (2) Concept de classes (3) Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Classes et objets en Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

TP Mock. On veut modéliser un jeu de casino : le jeu de la boule.

TP Mock. On veut modéliser un jeu de casino : le jeu de la boule. TP Mock Pour faire ce TP il faut récupérer la "bibliothèque" mockito-all-x.x.x.jar. Vous pouvez la trouver à partir de https://code.google.com/p/mockito/downloads/list (pour mockito- 1.9.5.zip). Anciennement

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

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

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance 7 de cours/td Université Paris-Diderot Objectifs: Savoir écrire un programme en entier (structure du programme avec une procédure main et des déclarations de fonctions,

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

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

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

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

Corrigé des exercices sur les références

Corrigé des exercices sur les références Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile

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

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

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

INF 103 Langage JAVA. Contrôle du 7 janvier 2015 Durée : 1h30

INF 103 Langage JAVA. Contrôle du 7 janvier 2015 Durée : 1h30 INF 103 Langage JAVA Contrôle du 7 janvier 2015 Durée : 1h30 Nom : Prénom : Casier : Groupe :........ Écrire les réponses directement sur les feuilles du sujet dans les cases prévues à cet effet. Le barème

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

Procédures et fonctions

Procédures et fonctions Chapitre 5 Procédures et fonctions 5.1 Introduction Considérons le programme suivant, dont le but est d inverser les éléments d un tableau : public class InversionTableau1 { int t[]= {8, 2, 1, 23; Terminal.ecrireStringln("Tableau

Plus en détail

JAVA. Illustration d UML et Introduction à la programmation «objet» Juillet 2004 Thierry Leydier Virtualité Réelle thierry.leydier@gmail.

JAVA. Illustration d UML et Introduction à la programmation «objet» Juillet 2004 Thierry Leydier Virtualité Réelle thierry.leydier@gmail. JAVA Illustration d UML et Introduction à la programmation «objet» Juillet 2004 Thierry Leydier Virtualité Réelle thierry.leydier@gmail.com Historique JAVA est issu d'un projet de recherche chez SUN (fin

Plus en détail

1 ère PARTIE : COURS (sans document) Durée: 1h15

1 ère PARTIE : COURS (sans document) Durée: 1h15 Examen 1 ère session 2012-2013 page 1 NFA 032 - Programmation JAVA IPST-CNAM Programmation JAVA NFA 032 Mercredi 25 Juin 2014 Avec document Durée : 2 h30 Enseignant : LAFORGUE Jacques 1 ère Session NFA

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

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance de cours/td Université Paris-Diderot Objectifs: Découverte du type String. Comprendre qu il y a des types différents. Maîtriser les expressions booléennes dans

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

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

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

EXAMEN DE JAVA 2010-2011

EXAMEN DE JAVA 2010-2011 NOM : PRÉNOM : TP : G TP EXAMEN DE JAVA 2010-2011 Consignes : avec documents, mais sans téléphone, ordinateur ou autre moyen de communication. Durée : 2h Recommandations : Le code doit être écrit en JAVA

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

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

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

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

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

Plus en détail

Programmation Orientée Objet C++ Cours 1

Programmation Orientée Objet C++ Cours 1 Programmation Orientée Objet C++ Cours 1 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 265 Ouvrages de référence B. W. Kernighan et D. M. Ritchie - Le langage C : Norme

Plus en détail

Programmation orientée objet

Programmation orientée objet Module 211 Programmation orientée objet Chapitre 3 : Les classes Les classes Membres de classe et membres d'instance Déclaration de classe Signature de classe Les champs Méthode de classe et méthode d'instance

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

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

} 7 Variables (composantes)

} 7 Variables (composantes) Chapitre 4 Tableaux Jusqu ici, nous avons employé les variables pour stocker les valeurs individuelles de types primitifs : une variable de type int pour stocker un entier, une variable de type boolean

Plus en détail

Fonctions et procédures. Procedures: déclaration et appel

Fonctions et procédures. Procedures: déclaration et appel Cours 5 : fonctions, procédures, passage des paramètres 1 Fonctions et procédures Idée : capitaliser sur le code déjà écrit pour introduire des nouvelles commandes et opérations. On souhaite donner un

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

Généralités Composants élémentaires d'un programme Instructions simples. JL Damoiseaux - Dpt R&T

Généralités Composants élémentaires d'un programme Instructions simples. JL Damoiseaux - Dpt R&T JAVA - I Généralités Composants élémentaires d'un programme Instructions simples 2 JAVA? Un langage de programmation (orienté objets) Une architecture basée sur une Machine Virtuelle Un ensemble très important

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

Fiche n 12 : classes et objets (initiation au C++)

Fiche n 12 : classes et objets (initiation au C++) Fiche n 12 : classes et objets (initiation au C++) Nous entrons maintenant dans l'univers de la programmation objet et de C++. Une classe peut être vue comme une évolution d'une structure qui comporte

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

DS Java 1. 19 novembre 2005

DS Java 1. 19 novembre 2005 DS Java 1 19 novembre 2005 Durée : 2 heures. Documents (notes et polycopiés) autorisés. La rigueur et la propreté seront prises en compte dans l évaluation. Le barème est indicatif. Vous rédigerez vos

Plus en détail

Simulation d'algorithmes distribués Guide Utilisateur

Simulation d'algorithmes distribués Guide Utilisateur Simulation d'algorithmes distribués Guide Utilisateur Sommaire Section 1 Section 2 Section 3 Section 4 Section 5 3 Introduction 3 Configuration minimale 3 Utilisation Construction de graphes 4 La grammaire

Plus en détail

NFA032 Programmation objet avec Java

NFA032 Programmation objet avec Java NFA032 Programmation objet avec Java CNAM-Paris-Île-de-France Première session 2013 (sujet bis) Documents et calculatrice interdits. Le barème est donné à titre indicatif. Exercice 1 : programmation objet

Plus en détail

CONTRÔLE HORS-CLASSEMENT ÉCOLE POLYTECHNIQUE INFORMATIQUE COURS INF 431

CONTRÔLE HORS-CLASSEMENT ÉCOLE POLYTECHNIQUE INFORMATIQUE COURS INF 431 CONTRÔLE HORS-CLASSEMENT ÉCOLE POLYTECHNIQUE INFORMATIQUE COURS INF 431 GUILLAUME HANROT ET JEAN-JACQUES LÉVY On se propose de résoudre le problème de l affectation de k tâches à n employés (k > 0, n >

Plus en détail

Projet. Coloration lexicale et indentation de code Java

Projet. Coloration lexicale et indentation de code Java Université Paris Diderot Programmation Orientée Objet L3 Année 2011-2012 Projet Coloration lexicale et indentation de code Java Le but de ce projet est de développer un programme qui prend en entrée un

Plus en détail

Ingénierie du logiciel : cours 2

Ingénierie du logiciel : cours 2 Ingénierie du logiciel : cours 2 Frédéric Gava (d après F. Martini) Master ISIN, Université de Paris-Est Créteil Cours Ingénierie du logiciel du M2 ISIN Plan 1 Introduction et premiers exemples 2 Création

Plus en détail

TP n 5 - Correction. IUP2 Année 2004-2005

TP n 5 - Correction. IUP2 Année 2004-2005 Université Paris 7 Programmation objet IUP2 Année 2004-2005 TP n 5 - Correction Héritage Exercice 1 Le cas d école modifié 1. Ecrivez une classe Figure. Cette classe a des attributs privés abcisse et ordonnée,

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

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

Programmation multitâches avec les Threads

Programmation multitâches avec les Threads Programmation multitâches avec les Threads A. Introduction A.1. Programmation multitâche Tous les systèmes d'exploitation actuels ont la possibilité d'effectuer plusieurs tâches en simultané. En effet,

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 2 : JUnit Nom(s) : Groupe : Date : Objectifs : Apprendre à vérifier une implantation à l aide de tests unitaires sous

Plus en détail

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

Université de Bourgogne - UFR Sciences et Technique - Programmation objet et Internet - LPSIL Nom : Prénom : Contrôle continu 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 calculatrices

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

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

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

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

IN201 : Corrigé de l examen

IN201 : Corrigé de l examen IN201 : Corrigé de l examen SUPAERO 2A Christophe Garion 19 mars 2007 Cet examen est composé de trois parties indépendantes. Vous avez 2h30 pour le faire. Les documents autorisés sont

Plus en détail

Collections d objets (de taille variable)

Collections d objets (de taille variable) Introduction à la programmation en Java Frédéric MALLET Jean-Paul ROY UFR Sciences de Nice Licence Math-Info 2006-2007 Module L1I1 10-1 Où en sommes-nous? Nous savons rédiger le texte d une classe d objets,

Plus en détail

Licence Bio Info Année 2004-2005. Un modèle de conception pour les applications avec interfaces graphiques Le Modèle-Vue-Contrôleur

Licence Bio Info Année 2004-2005. Un modèle de conception pour les applications avec interfaces graphiques Le Modèle-Vue-Contrôleur Université Paris 7 Programmation objet Licence Bio Info Année 2004-2005 TD n 7 - Correction Un modèle de conception pour les applications avec interfaces graphiques Le Modèle-Vue-Contrôleur Le TD d aujourd

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

Static. static. USTL http://www.lifl.fr/ routier 1

Static. static. USTL http://www.lifl.fr/ routier 1 Static static USTL http://www.lifl.fr/ routier 1 Static Le rôle essentiel d un moule est de permettre la création d objets.... mais un moule a également des caractéristiques Il en est de même pour une

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

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

Les références et la mémoire

Les références et la mémoire Chapitre 3 Les références et la mémoire 3.1 Introduction En Java, pour déclarer une variable, il faut donner son nom, précédé du type qu on souhaite lui attribuer. Ces types peuvent être des types primitifs

Plus en détail

Types de données et objets

Types de données et objets Types de données et objets VL A D Y RA V E L O M A N A N A Licence 1 S2 Université Denis Diderot (P7). vlad@liafa.jussieu.fr LIAFA Bureau 6A13. 175, rue Chevaleret Ravelomanana Vlady Types de données et

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

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

TP2 J2ME MIDP IHM bas niveau

TP2 J2ME MIDP IHM bas niveau TP2 J2ME MIDP IHM bas niveau 1 ) Ecrire une MIDlet qui présente un GoBan c'est à dire un plateau de jeu pour jouer au Go. La couleur de fond du GoBan sera 0xDCB35C. On doit obtenir : Solution : Le code

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

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