Introduction. Les méthodes. Les méthodes. Identité et égalité. Identité et égalité. La copie d'objets. Identité et égalité.
|
|
- Lucienne Sauvé
- il y a 8 ans
- Total affichages :
Transcription
1 Introduction La classe object Tous les objets Java héritent de la classe java.lang.object. Elle garantit que tout objet Java contient quelques méthodes fondamentales duplication comparaison Chaque classe est libre de redéfinir ces méthodes Cours Java : les conteneurs 1 Cours Java : les conteneurs 2 Sommaire des Méthodes Les méthodes protected clone() throws CloneNotSupportedException Creates and returns a copy of this Object object. boolean equals(object obj) Indicates whether some other object is "equal to" this one. protected finalize() throws Throwable Called by the garbage collector on an object when void garbage collection determines that there are no more references to the object. Class getclass() Returns the runtime class of an object. int hashcode() Returns a hash code value for the object. void notify()wakes up a single thread that is waiting on this object's monitor. void notifyall()wakes up all threads that are waiting on this object's monitor. String tostring() Returns a string representation of the object. void wait() Causes current thread to wait until another thread invokes the notify() method or the notifyall() method for this object. void wait(long timeout) Causes current thread to wait until either another thread invokes the notify() method or the notifyall() method for this object, or a specified amount of time has elapsed. void wait(long timeout, int nanos)causes current thread to wait until another thread invokes the notify() method or the notifyall() method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed. Cours Java : les conteneurs 3 Les méthodes La méthode tostring() retourne l'objet sous forme d'une chaîne de caractères Object o = new Object(); System.out.println(o); // affiche java.lang.object@cd2d23758 Cette méthode tostring() est très souvent redéfinie par les sous classes. Elle permet d'afficher une représentation de l'objet sous forme de String public class Complexe { protected double partiereelle; protected double partieimaginaire; public Complexe (double r, double i) { partiereelle = r; partieimaginaire = i; public String tostring() {return partiereelle + "+" + partieimaginaire + "i"; public static void main(string[] args) { Complexe c = new Complexe(1.0, 2.0); System.out.println(c); Cours Java : les conteneurs 4 L'opérateur "==" appliqué à des références teste l'égalité des références Complexe c1 = new Complexe (1.0,2.0); Complexe c2 = new Complexe (1.0,2.0); System.out.println(c1 == c2); // affich false; La méthode equals() de la classe Object teste l'égalité entre l'objet qui a appelé la méthode et l'objet passé en argument. Par défaut cette méthode teste, elle aussi, l'égalité sur les références. Il est souvent nécessaire de redéfinir cette méthode en fonction du contenu de l'objet public boolean equals(object o) { if (!(o instanceof Complexe)) return false; Complexe c = (Comlexe)o; return partireelle == c.partiereelle && partieimaginaire == c.partieimaginaire; Cours Java : les conteneurs 5 La méthode equals doit vérifier les propriétés suivantes x.equals(x) true x.equals(y) == true y.equals(x) == true x.equals(y) == true et y.equals(z) == true x.equals(z) == true plusieurs appels successifs de x.equals(y) donnent toujours le même résultat x.equals(null) false Cours Java : les conteneurs 6 La valeur renvoyée par la méthode hashcode() est utilisée dans la méthode tostring() (suit le Object o = new Object(); System.out.println(o); // affiche java.lang.object@cd2d23758 Les valeurs renvoyées par la méthode hashcode() de deux objets x, y tels que x.equals(y) == true doivent être les mêmes La réciproque n'est pas vraie La redéfinition de la méthode equals peut nécessiter de redéfinir la méthode hashcode() pour garantir le bon fonctionnement des conteneurs La copie d'objets La méthode clone() effectue une copie champ à champ de l'objet sur lequel elle est appelée à la condition qu'il ait le type Cloneable (implante l'interface Cloneable). On dit faire une copie en surface L'appel de la méthode clone() dans une classe qui n'implante pas l'interface Cloneable léve l'exception CloneNotSupportedException. Cours Java : les conteneurs 7 Cours Java : les conteneurs 8
2 La copie d'objets abstract class Figure implements Cloneable { try { return super.clone(); catch (CloneNotSupportedException e) { throw new InternalError(); public class Disque { private Point centre; private double rayon; public Disque (Point c, double r) { centre = c; rayon = r; return new Disque(centre, rayon); // Dangereux public class Anneau extends Disque { public Anneau (Point c, double r, double rinterne) {... // pas de redefinition de clone() public static void main (String [] a) { Anneau a = new Anneau(new Point(0.0, 0.0), 2.0, 1.0); Anneau copie = (Anneau) a.clone(); // transtypage incorrect Cours Java : les conteneurs 9 La copie d'objets abstract class Figure implements Cloneable { try { return super.clone(); catch (CloneNotSupportedException e) { throw new InternalError(); public class Disque { private Point centre; private double rayon; public Disque (Point c, double r) { centre = c; rayon = r; Disque d =(Disque)super.clone(); d.centre =(Point)centre.clone(); return d; public class Anneau extends Disque { public Anneau (Point c, double r, double rinterne) {... // pas de redefinition de clone() public static void main (String [] a) { Anneau a = new Anneau(new Point(0.0, 0.0), 2.0, 1.0); Anneau copie = (Anneau) a.clone(); // transtypage OK Cours Java : les conteneurs 10 Les autres méthodes La méthode finalize() est appelée avant que le ramasse miettes récupère la mémoire utilisée par l'objet Cinq méthodes sont utilisées pour mettre en oeuvre la synchronisation de processus léger La méthode getclass() retourne une référence sur un objet de la classe java.lang.class qui décrit la classe de l'objet String s = "coucou"; Class c = s.getclass(); System.out.println(c); // affiche: class java.lang.string Les Conteneurs Cours Java : les conteneurs 11 Cours Java : les conteneurs 12 Introduction Un conteneur est une classe dont le rôle est de stocker, traiter, retrouver une collection d'objets. Un exemple de conteneur (ou dit aussi collection) est le tableau Les différents conteneurs se distinguent en fonction de l'interface : accès aux éléments des implémentations : stockage, rangement des éléments des algorithmes : recherche, tri, parcours En java il y a deux types d'interface de conteneurs disponibles Cours Java : les conteneurs 13 Cours Java : les conteneurs 14 Collection est l'interface racine. Elle permet de désigner un ensemble d'objets. Certaines implantations autoriseront la présence de plusieurs éléments identiques d'autres non. Certaines implantations auront leurs éléments ordonnés d'autres non. set : conteneur qui n'accepte pas les doublons list: conteneur qui range les éléments en séquence (notion d'index) map: conteneur qui associe une clé à chaque élément sortedset: conteneur qui maintient un ordre croissant sur l'ensemble des éléments sortedmap: conteneur qui maintient un ordre croissant sur l'ensemble des clés Cours Java : les conteneurs 15 Cours Java : les conteneurs 16
3 L'interface de Collection L'interface de Set public interface Collection { boolean contains(object element); boolean add(object element); boolean remove(object element); Iterator iterator(); boolean containsall(collection c); boolean addall(collection c); boolean removeall(collection c); boolean retainall(collection c); // Array Operations Object[] toarray(); Object[] toarray(object a[]); public interface Set extends Collection{ boolean contains(object element); boolean add(object element); boolean remove(object element); Iterator iterator(); boolean containsall(collection c); boolean addall(collection c); boolean removeall(collection c); boolean retainall(collection c); // Array Operations Object[] toarray(); Object[] toarray(object a[]); Cours Java : les conteneurs 17 Cours Java : les conteneurs 18 L'interface de List public interface List extends Collection { // Positional Access Object get(int index); Object set(int index, Object element); void add(int index, Object element); Object remove(int index); abstract boolean addall(int index, Collection c); // Search int indexof(object o); int lastindexof(object o); // Iteration ListIterator listiterator(); ListIterator listiterator(int index); L'interface de ListIterator La classe ListIterator permet de se déplacer dans les deux sens d'un conteneur. Elle permet de modifier son contenu (set, add, en plus de remove) public interface ListIterator extends Iterator { boolean hasnext(); Object next(); boolean hasprevious(); Object previous(); // Range-view List sublist(int from, int to); La méthode sublist permet de travailler temporairement sur une sous liste. int nextindex(); int previousindex(); void remove(); void set(object o); void add(object o); Cours Java : les conteneurs 19 Cours Java : les conteneurs 20 index: 0 L'interface de ListIterator Element (0) Element (1) Element (2) Element (3) 1 Index correspond à l'index de l'élément qui sera renvoyé lors de l'appel à la méthode next() Sans précision, l'index de départ vaut zéro. Soit i la valeur de l'index, la méthode previous() renvoie l'élément à l'index i Cours Java : les conteneurs L'interface Map public interface Map { Object put(object key, Object value); Object get(object key); Object remove(object key); boolean containskey(object key); boolean containsvalue(object value); void putall(map t); // Collection Views public Set keyset(); public Collection values(); public Set entryset(); // Interface for entryset elements public interface Entry { Object getkey(); Object getvalue(); Object setvalue(object value); Cours Java : les conteneurs 22 L'interface SortedSet L'interface SortedMap public interface SortedSet extends Set { // Range-view SortedSet subset(object fromelement, Object toelement); SortedSet headset(object toelement); SortedSet tailset(object fromelement); // Endpoints Object first(); Object last(); // Comparator access Comparator comparator(); Range les éléments suivant l'ordre naturel ou à l'aide de la classe Comparator indiquée à la création Ajoute à l'interface Set un ensemble de méthodes «Range-view» (half-open) Cours Java : les conteneurs 23 public interface SortedMap extends Map { Comparator comparator(); SortedMap submap(object fromkey, Object tokey); SortedMap headmap(object tokey); SortedMap tailmap(object fromkey); Object firstkey(); Object lastkey(); Range les éléments suivant l'ordre naturel ou à l'aide de la classe Comparator indiquée à la création L'interface est comparable avec SortedSet à la différence que l'on utilise des clés à la place des éléments Cours Java : les conteneurs 24
4 Hash Table Implementations Resizable Array Balanced Tree Linked List Set HashSet TreeSet Interfaces List ArrayList LinkedList Map HashMap TreeMap Set HashSet (en temps constant) TreeSet (en O(logn)) L'implantation TreeSet permet de gérer un ordre dans les éléments de l'ensemble Le temps de parcours avec un itérateur est fonction de la taille de l'ensemble. Il est important de spécifier une taille initial en rapport avec la taille probable d'utilisation. Set set = new HashSet(17); Cours Java : les conteneurs 25 Cours Java : les conteneurs 26 List ArrayList LinkedList On utilise le plus souvent l'implantation ArrayList qui donne un accès en temps constant et qui est (en général) plus rapide que l'implantation LinkedList. Un constructeur permet de spécifier la taille initiale. Map HashMap TreeMap Les remarques sont les mêmes que pour l'implantation des Sets. Cours Java : les conteneurs 27 Cours Java : les conteneurs 28 Sort (Tri) Les algorithmes Shuffling (inverse du tri) Manipulation de données inverse (inverse l'ordre dans la liste) fill (initialise la liste) copy (copie une liste source dans une liste destination. Les deux listes doivent avoir la même taille. Recherche Recherche un élément dans un conteneur trié dans un ordre croissant Cours Java : les conteneurs 29 Les algorithmes Les algorithmes sont accessibles à partir de la classe statique Collections static Object binarysearch(list list, object key) Searches the specified list for the specified object using the binary search algorithm. static void copy(list dest, List src) Copies all of the elements from one list into another. static void fill(list list, Object obj) Replaces all of the elements of the specified list with the specified element. static Object max(collection coll) Returns the maximum element of the given collection, according to the natural ordering of its elements. static Object min(collection coll) Returns the minimum element of the given collection, according to the natural ordering of its elements. static void shuffle(list list) Randomly permutes the specified list using a default source of randomness. static void shuffle(list list, Random rnd) Randomly permute the specified list using the specified source of randomness. static void sort(list list) Sorts the specified list into ascending order, according to the natural ordering of its elements. static void sort(list list, Comparator c) Sorts the specified list according to the order induced by the specified comparator. Cours Java : les conteneurs 30 Illustration Set import java.util.*; public class FindDups { public static void main(string args[]) { Set s = new HashSet(); for (int i=0; i<args.length; i++) if (!s.add(args[i])) System.out.println("Duplicate detected: "+args[i]); Les éléments qui sont déjà dans l'ensemble ne sont pas ajoutés System.out.println(s.size()+" distinct words detected: "+s); Set union = new HashSet(s1); union.addall(s2); // elts de s1 et s2 sans doublons Set intersection = new HashSet(s1); intersection.retainall(s2);// elts commun à s1 et s2 Set difference = new HashSet(s1); difference.removeall(s2); // elts de S1 qui ne sont pas dans s2 Cours Java : les conteneurs 31 Illustration List public static void main(string[] args) { int nbjoueurs = Integer.parseInt(args[0]); int nbcartesparjoueurs = Integer.parseInt(args[1]); // Jeu de 52 cartes String[] couleurs = new String[] { "carreau", "treffle", "coeur", "pique" ; String[] carte = new String[] { "as", "2", "3", "4", "5", "6", "7", "8", "9", "10", "valet", "dame", "roi" ; List jeu = new ArrayList(); for (int i = 0; i < couleurs.length; i++) for (int j = 0; j < carte.length; j++) jeu.add(carte[j] + " de " + couleurs[i]); Collections.shuffle(jeu); for (int i = 0; i < nbjoueurs; i++) System.out.println(jeuJoueur(jeu, nbcartesparjoueurs)); Cours Java : les conteneurs 32
5 Illustration List Illustration Map public static List jeujoueur(list jeu, int n) { int taillejeu = jeu.size(); List vuejeu = jeu.sublist(taillejeu - n, taillejeu); List jeujoueur = new ArrayList(vueJeu); vuejeu.clear(); return jeujoueur; import java.util.*; public class Freq { private static final Integer ONE = new Integer(1); public static void main(string args[]) { Map m = new HashMap(); // Initialize frequency table from command line for (int i=0; i<args.length; i++) { Integer freq = (Integer) m.get(args[i]); m.put(args[i], (freq==null? ONE : new Integer(freq.intValue() + 1))); System.out.println(m.size()+" distinct words detected:"); System.out.println(m); Cours Java : les conteneurs 33 Cours Java : les conteneurs 34 Illustration SortedSet Illustration SortedMap Les éléments du conteneur entre les objets "doorbell" compris et "pickle" exclu int count = dictionary.subset("doorbell", "pickle").size(); for (char ch='a'; ch<='z'; ch++) { String from = new String(new char[] {ch); String to = new String(new char[] {(char)(ch+1)); System.out.println(from + ": " + dictionary.subset(from, to).size()); Les éléments du conteneur en début d'ensemble et en fin d'ensemble. Volume1 contient les éléments jusqu'à "n" exclu Volume2 contient les éléments à partir de "n" inclus jusqu'au dernier élément SortedSet volume1 = dictionary.headset("n"); SortedSet volume2 = dictionary.tailset("n"); Cours Java : les conteneurs 35 SortedMap m = new TreeMap(); m.put("sneezy", "common cold"); m.put("sleepy", "narcolepsy"); m.put("grumpy", "seasonal affective disorder"); System.out.println(m.keySet()); System.out.println(m.values()); System.out.println(m.entrySet()); [Grumpy, Sleepy, Sneezy] [seasonal affective disorder, narcolepsy, common cold] [Grumpy=seasonal affective disorder, Sleepy=narcolepsy, Sneezy=common cold] final Comparator FUNNY_COMPARATOR =... ; Map m = new TreeMap(FUNNY_COMPARATOR); //... code to populate m Map m2 = new TreeMap(m); // invokes TreeMap(Map) Map m3 = new TreeMap((SortedMap)m) // invokes TreeMap(SortedMap)] Cours Java : les conteneurs 36
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étailChapitre 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étailRAPPELS 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étailLMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Plus en détailProgrammation Par Objets
Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets
Plus en détailPackage 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étailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailThreads. Threads. USTL http://www.lifl.fr/ routier 1
Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un
Plus en détailUne introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Plus en détailApprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)
Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailPolymorphisme, la classe Object, les package et la visibilité en Java... 1
Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....
Plus en détailFaculté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étailProgrammation Objet I
2002-2003 UFR Mathématique de la Décision Deuxième Année de DEUG Science mention MASS Programmation Objet I Fabrice Rossi et Fabien Napolitano c Fabrice Rossi et Fabien Napolitano, 2002-2003 Le code de
Plus en détailJava 1.5 : principales nouveautés
Cours 6 - TEP - UPMC - 2008/2009 p. 1/34 Java 1.5 : principales nouveautés classes paramétrées : generics encapsulation des valeurs de types primitifs : auto[un]boxing itération sur les boucles types énumérés
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailBases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions
Langage JAVA Bases du langage Opérations sur les fichiers Réseau Multi-tâche Logiciel: interfaces... Gestion des périphériques (méthodes natives) Accès aux bases de données Bases du langage Historique
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailSynchro et Threads Java TM
Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire
Plus en détailIntroduction au langage de programmation Java
Introduction au langage de programmation Java Christian Bac, Denis Conan CSC 4002 Octobre 2014 Revision : 996 Introduction au langage de programmation Java Sommaire du cours 1 Introduction à Java.............................................................
Plus en détailProgrammation Objet II
2002-2003 UFR Mathématique de la Décision Deuxième Année de DEUG Science mention MASS Programmation Objet II Fabrice Rossi et Fabien Napolitano c Fabrice Rossi et Fabien Napolitano, 2002-2003 Le code de
Plus en détailExceptions. 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étailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailDesign patterns. Design patterns - définition. Design patterns - avantages
Design patterns Conception UML Implantation Java Anne Lapujade 1 Design patterns - définition 2 v Objectif : proposer des solutions standardisées à des problèmes de conception classiques v Design pattern
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détail4. Groupement d objets
Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux
Plus en détailP r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )
P r ob lé m a t iq u e d e la g é n é r icit é les versions de Java antérieures à 1.5 permettaient de créer des classes de structures contenant n'importe quels types d'objet : les collections (classes
Plus en détailAteliers SCJP Pour Java 2 Pla2orm, Standard Edi8on 7.0
Ateliers SCJP Pour Java 2 Pla2orm, Standard Edi8on 7.0 1 Diagramme JDK 1.7 2 Agenda þ q q q q q q q q q Declara4on and Access Control Object Orienta4on Assignments Operators Flow Control, Excep4ons and
Plus en détailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Plus en détailExercices sur les interfaces
Exercices sur les interfaces Fabrice Rossi 18 octobre 1999 1 Le type Object 1.1 Manipulations élémentaires Exercice 1.1 : Indiquer l affichage produit par le programme suivant : public class UpCast1 {
Plus en détail4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr
4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs
Plus en détailLambda! Rémi Forax Univ Paris-Est Marne-la-Vallée
Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailProgrammation 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étailPROGRAMMATION PAR OBJETS
PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)
Plus en détailJ2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation
J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread
Plus en détailIntroduction à la programmation concurrente
Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailJAVA. Introduction à la programmation objet avec java 1/4. Nadir BOUSSOUKAIA
JAVA Introduction à la programmation objet avec java 1/4 Nadir BOUSSOUKAIA v1.04 SOMMAIRE Caractéristiques de java (40mn) Eléments du langage (40mn) Les core API java (20mn) 2 Partie 1 Caractéristiques
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailCorrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Plus en détailAPI04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture
API04 Contribution Apache Hadoop: Présentation et application dans le domaine des Data Warehouses Introduction Cette publication a pour but de présenter le framework Java libre Apache Hadoop, permettant
Plus en détailInfo0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java
Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailPage 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>
Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances
Plus en détailProgrammation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13
Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailCréation d objet imbriqué sous PowerShell.
Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailHéritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
Plus en détailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détailClasse Interne, Anonyme & Enumération
Java Avancé Classe Interne, Anonyme & Enumération Rémi Forax forax@univ-mlv.fr 1 Rappel Nous nous intéressons aujourd'hui à deux formes de type abstrait en Java Les interfaces Les classes abstraites Les
Plus en détailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Plus en détailGénéricité. en Java. (polymorphisme paramétrique) Philippe GENOUD UJF Janvier 2015 1
(polymorphisme paramétrique) en Java Philippe GENOUD UJF Janvier 2015 1 Motivations Supposons que l'on développe du code pour gérer une file d'attente (FIFO First In First Out) et que l'on veuille utiliser
Plus en détailMapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15
MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué
Plus en détailTutoriel d installation de Hibernate avec Eclipse
Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailPrénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Plus en détailIntroduction : les processus. Introduction : les threads. Plan
IN328 Programmation distribuée avec Java et J2EE 2 - Threads en Java Introduction : les processus Un processus est un ensemble d instructions à exécuter, un espace mémoire réservé et éventuellement d autres
Plus en détailDéveloppement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
Plus en détailProgrammation 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étailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détailServeur d'archivage 2007 Installation et utilisation de la BD exist
Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailProgrammation avec des objets : Cours 7. Menu du jour
1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailApplet pour visualiser les variables «automate» notifiées
Applet pour visualiser les variables «automate» notifiées Sommaire 1. Introduction...2 2. Lecture de variables «automate» notifiées...2 2.1. IHM servant au test :...2 2.2. Codage de l'applet :...2 3. Codage
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détail2 e édition JAVA 5 et 6. Jérôme Bougeault. TSoft et Groupe Eyrolles, 2003, 2008, ISBN : 978-2-21212250-3
2 e édition JAVA 5 et 6 Jérôme Bougeault TSoft et Groupe Eyrolles, 2003, 2008, ISBN : 978-2-21212250-3 Classes et objets Les constructeurs Propriétés Les méthodes L héritage Les interfaces Les relations
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Plus en détailDis papa, c est quoi un bus logiciel réparti?
Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la
Plus en détailIntroduction à JDBC. Accès aux bases de données en Java
Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity
Plus en détailObjets et Programmation. origine des langages orientés-objet
Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève
Plus en détailLangage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2
Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD
Plus en détailTutoriel: Création d'un Web service en C++ avec WebContentC++Framework
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan
Plus en détailCertificat Big Data - Master MAthématiques
1 / 1 Certificat Big Data - Master MAthématiques Master 2 Auteur : Sylvain Lamprier UPMC Fouille de données et Medias Sociaux 2 / 1 Rich and big data: Millions d utilisateurs Millions de contenus Multimedia
Plus en détailTp 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étailRMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
Plus en détailPaginer les données côté serveur, mettre en cache côté client
Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule
Plus en détailRemote Method Invocation Les classes implémentant Serializable
Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailJava Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets
Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper
Plus en détailIntroduction à MapReduce/Hadoop et Spark
1 / 36 Introduction à MapReduce/Hadoop et Spark Certificat Big Data Ludovic Denoyer et Sylvain Lamprier UPMC Plan 2 / 36 Contexte 3 / 36 Contexte 4 / 36 Data driven science: le 4e paradigme (Jim Gray -
Plus en détailTD2 Programmation concurrentielle
TD2 Programmation concurrentielle Développement Logiciel (L2-S4) Lundi 10 février 2014 Exercice 1 (Au bar...) Trois clients se trouvent au bar. Il est tard, ils sont fatigués, et ils s endorment sur le
Plus en détailProgrammation 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étailProjet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détailProgrammation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.
Programmation Orientée Objet - Licence TIS CM8/9 Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.fr Poitiers, le 13/03/2006 Rappel sur la séance précédente La fois précédente, nous avons vu : 1 UML
Plus en détailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
Plus en détailPrésentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...
Au programme Conception Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Présentation L UE COO est le prolongement immédiat de l UE POO du S4 informatique. cf. http://portail.fil.univ-lille1.fr/portail/ls4/poo
Plus en détail4 Exemples de problèmes MapReduce incrémentaux
4 Exemples de problèmes MapReduce incrémentaux 1 / 32 Calcul des plus courtes distances à un noeud d un graphe Calcul des plus courts chemins entre toutes les paires de noeuds d un graphe Algorithme PageRank
Plus en détail