Aspects Objets avancés dans le langage Java
|
|
- Jean-Michel Mélançon
- il y a 8 ans
- Total affichages :
Transcription
1 POO Programmation Impérative Programmation orientée Objet et modélisation UML Aspects Objets avancés dans le langage Java Collections
2 Concepts Objet Avancés Apis Exception classes abstraites Interface observateur Clonage Structures de données récursives Classes internes, classes anonymes Types int.class classe Class Patterns, évènements
3 APIs
4 APIs
5 java.lang Chap VI: Exceptions Object (from java.lang) Throwable Throwable () : void Throwable (message : String) : void tostring () : String printstacktrace () : void getmessage () : String printstacktrace0 (s : Object) : void fillinstacktrace () : Throwable getlocalizedmessage () : String printstacktrace (s : java.io.printstream) : void Error Error () : void Error (s : String) : void Exception Exception () : void Exception (s : String) : LinkageError (from java.lang) ThreadDeath (from java.lang) VirtualMachineError (from java.lang)
6 Sous classes Exception Exception Exception () : void Exception (s : String) : void RuntimeException (from java.lang) ClassNotFoundException (from java.lang) CloneNotSupportedException (from java.lang) NoSuchFieldException (from java.lang) ClassCastException (from java.lang) IndexOutOfBoundsException (from java.lang) NullPointerException (from java.lang) IllegalArgumentException (from java.lang) ArrayIndexOutOfBoundsException (from java.lang) StringIndexOutOfBoundsException (from java.lang) NumberFormatException (from java.lang)
7 Commentaires Quand une exception est levée, les expressions, instructions, méthodes, constructeurs, initialisateurs statiques qui subissent cette exception sont interrompus abruptement jusqu'à ce qu'une déclaration intercepte cette classe d'exception (ou une superclasse de celle ci). Si l'exception n'est pas interceptée la JVM appelle la méthode uncaughtexception sur le ThreadGroup. au fur et à mesure les verrous sont libérés. Error et RunTimeException ne sont pas nécessairement "catchées" soit que cela serait trop lourd soit parfois trop difficile Si on écrit... catch(exception e){.. on récupère donc toutes les exceptions sauf Error.
8 Classes Exception class PilePleineException extends Exception{ PilePleineException(){ PilePleineException(String s){super(s); class PileVideException extends Exception{
9 Exception et Pile class Pile{ private int[] table; private int sommet =-1; public Pile(int taille){ table =new int[taille]; public void empiler(int v) throws PilePleineException { try{ table[++sommet]=v; catch(arrayindexoutofboundsexception e){ throw new PilePleineException(Integer.toString(sommet)); public int depiler()throws PileVideException{ try{return table[sommet--]; catch(arrayindexoutofboundsexception e){throw new PileVideException(); public boolean estvide(){... public boolean estpleine(){... public String tostring(){...
10 Structures de Données Récursives Application au même exemple de pile Structure de donnée générique Généricité, spécialisation et héritage
11 Exercice: Pile de taille libre modélisation objet d une pile de taille «illimitée» Pour les connaisseurs l objectif de cet exercice est de montrer comment java et l approche objet se passent aisément de la notion de pointeur habituellement introduite pour la solution de cet exercice. :Pile taille 2 Maillon sommet sommet :Maillon valeur 2 Maillon souspile souspile :Maillon valeur 8 Maillon souspile
12 Pile d entier de taille libre Pile int taille Maillon sommet int valeur Maillon estvide( ) depiler( ) empiler( ) tostring( ) sommet tostring( ) souspile souspile
13 Maillon class Maillon{ int valeur; Maillon souspile; Maillon(int valeur,maillon souspile){ this.valeur=valeur; this.souspile=souspile; public String tostring(){ return valeur + ((souspile!=null)? ", "+ souspile : "");
14 Pile de taille libre class Pile{ private int taille =0; private Maillon sommet; public void empiler(int v){ sommet=new Maillon(v,sommet); taille++; public int depiler(){ int v=sommet.valeur; sommet=sommet.souspile; taille--; return v; public boolean estvide(){ return taille==0; public String tostring(){ return "[ "+ sommet.tostring() +" ]";
15 Généricité et Classe Object On veut maintenant généraliser notre pile pour qu elle puisse servir de pile d objets et non plus seulement de pile d entiers.
16 Maillon d objets class Maillon{ Object valeur; Maillon souspile; Maillon(Object valeur){ this.valeur=valeur; public String tostring(){ return valeur + ((souspile!=null)? ", "+ souspile : "");
17 class Pile{ int taille =0; Maillon sommet; Pile d Objets public void empiler(object v){ Maillon nouveausommet=new Maillon(v); nouveausommet.souspile=sommet; sommet=nouveausommet; taille++; public Object depiler(){ Object v=sommet.valeur; sommet=sommet.souspile; taille--; return v; public boolean estvide(){ return taille==0; public String tostring(){ return "[ "+ sommet.tostring() +" ]";
18 Empiler les chaines public class PileChaine { public static void main(string[] args){ Pile pile= new Pile(); int i=0; while(i<args.length){ pile.empiler(args[i]); // on empile un objet String System.out.println(i+": "+ args[i]); // polymorphisme i++; i=0; while(i<args.length){ System.out.println(i+": "+ pile.depiler()); //polymorphisme i++;
19 Wrappers des types de base Object (from java.lang) Boolean $ TRUE : Boolean $ FALSE : Boolean Boolean (value : boolean) : void booleanvalue () : boolean tostring () : String Number Character Character (value : char) : void charvalue () : char islowercase (ch : char) : boolean tostring () : String Integer int value; int MIN_VALUE ; int MAX_VALUE; Integer (value : int) : void intvalue () : int Integer (s : String) : void parseint (s : String) : int tostring () : String valueof (s : String) : Integer Float Double (from java.lang)
20 Sous-classe: généricité et polymorphisme public class PileChaine { public static void main(string[] args){ Pile pile= new Pile(); int i=0; while(i<args.length){ pile.empiler(args[i]); // on empile un objet String System.out.println(i+": "+ args[i]); i++; pile.empiler(new Integer(3)); // on empile un objet Integer pile.empiler(new Float(3.0)); i=0; while(!pile.estvide()){ System.out.println(i+": "+ pile.depiler().tostring()); //polymorphisme i++;
21 Sous Classe héritage et surcharge class PileString extends Pile{ public void empiler(string s){ super.empiler(s); public void empiler(object v){ if(v instanceof String) super.empiler(v); else System.out.println("c'est une pile de String et non de "+v.getclass()); public Object depiler(){ return (String)super.depiler(); // deux méthodes ne peuvent différer par le seul type de retour
22 Autre exemple class PileInt extends Pile{ public void empiler(int i){ super.empiler(new Integer(i)); // surcharge public void empiler(object v){ if(v instanceof Integer) super.empiler(v); else System.out.println("c'est une pile d'integer et non de "+v.getclass()); public int depilerint(){ Integer i=(integer)super.depiler(); return i.intvalue(); // deux méthodes ne peuvent différer par le seul type de retour
23 Pile Générique et héritage Pile taille : int estvide () : boolean depiler () : Object empiler (v : Object) tostring () : String #sommet valeur : Object Maillon tostring () : String Maillon (valeur : Object, souspile : Maillon) : souspile ExemplePileChaine PileString PileInt main (args : String[]) pile empiler (s : String) depilerstring () : String empiler (v : Object) empiler (i : int) depilerint () : int empiler (v : Object)
24 Classes Abstraites et Interface
25 Classe Abstraite public class PileAbstraite { public static void main(string[] args){ Pile pile= new PileString(); // la classe est abstraite mais l'instance non... class Maillon{... abstract class Pile{ int taille =0; abstract public void empiler(object v); abstract public Object depiler(); public boolean estvide(){ return taille==0; class PileRécursive extends Pile{ Maillon sommet; public void empiler(object v){... public Object depiler(){... public String tostring(){... class PileString extends PileRécursive {.
26 Interface interface Pile{ void empiler(object v); Object depiler(); boolean estvide();
27 Interface et Compilation séparée L interface permet en particulier de développer en appliquant les techniques de compilation séparée. On développe et compile une interface. interface C{ On développe et compile en parallèle le programme utilisateur et la ou les implémentations des interfaces. public class CompileSeparee{ static public void main(string[] args){ C v; System.out.println("hello");
28 Héritage «multiple» abstract class C { int i; void m1( ){... abstract String m2( );... interface I{ public final static int j=0; int[] p( );... class C1 extends C implements I { String m2(){... int[] p(){......
29 Types et Classes dans l approche Patterns «Un type est un nom utilisé pour caractériser une interface» «Un objet peut avoir de nombreux types» «Des objets différents peuvent partager un même type» Un type hérite de l interface de son super-type Les interfaces sont le fondement des systèmes Orientés objets L implémentation des objets est définie par leur classe La liaison dynamique permet de substituer des objets, les uns aux autres, pourvu que leur interface soit identique (polymorphisme)
30 itérateur java: Enumeration public interface java.util.enumeration { public abstract boolean hasmoreelements(); public abstract Object nextelement();
31 Java: iterateur sur un Vecteur public class java.util.vector extends java.lang.object implements java.lang.cloneable {... public Vector(); public Vector(int initialcapacity); public final void addelement(object obj); public final boolean contains(object elem); public final Object elementat(int index); public final Enumeration elements(); public final Object firstelement(); public final boolean isempty(); public final void removeelementat(int index); public final void setelementat(object obj, int index); public final int size();
32 Java: itérateurs sur une Hashtable public class java.util.hashtable public Hashtable(); extends java.util.dictionary implements java.lang.cloneable { public void clear(); public Object clone(); public boolean contains(object value); public boolean containskey(object key); public Enumeration elements(); public Object get(object key); public boolean isempty(); public Enumeration keys(); public Object put(object key, Object value); public Object remove(object key); public int size(); public String tostring();
33 Iterator et Enumeration Java Client déclare Enumeration nextelement(); hasmoreelements(); Vector Enumeration elements() implémente> EnumerationConcrète nextelement(); hasmoreelements();
34 Exemple class Programme{... Hashtable basedeclauses = new Hashtable(); // ensemble indexé de paquets public String tostring(){ Enumeration e= basedeclauses.elements(); String s=""; while(e.hasmoreelements()){ s += ((Paquet)e.nextElement()).toString()+ rc; return s; boolean existepaquet(string s){ Enumeration e = basedeclauses.keys();... while(e.hasmoreelements()) if( s==e.nextelement()) return true; return false;
35 Clonage public class Object { public final Class getclass(); public String tostring(); public boolean equals(object obj); protected Object clone() throws CloneNotSupportedException;
36 Cloneable protected Object clone() throws CloneNotSupportedException; Par défaut les objets ne sont pas clonables, cette méthode, dont tout objet hérite, teste donc d abord si la classe du receveur implémente l interface Cloneable public interface Cloneable { Si non une exception est levée Si oui elle crée un objet du même type que le receveur et fait une copie superficielle (affectation des champs) (les tableaux implémentent cette interface) La classe Object n implémente pas elle même cette interface Si vous spécialisez clone() vous pouvez faire une copie profonde en appelant cette même méthode sur les attributs «clonabes»
37 Exemple public class Stack implements Cloneable { private Vector items;. protected Object Clone() {//pas obligé de retourner l exception try { Stack s = (Stack)super.clone(); s.items = (Vector)items.clone(); return s; catch (CloneNotSupportedException e) { // this shouldn't happen because Stack is Cloneable throw new InternalError();
38 equals Attention à la méthode public class Object { public boolean equals(object o); protected Object clone() throw CloneNotSupportedException; Par défaut, elle compare les pointeurs et non les contenus clonés
39 Classes internes peuvent apparaître partout au top-level, comme attribut d'une classe, dans un bloc, dans une expression (anonymement) raison d'être: 'adapter' et 'beans' simplifie la connection d'objets entre eux Le nom de classe interne n'est pas utilisable hors de la classe sans préfixer. Le code des classes internes voit directement les noms englobants. les classes internes peuvent être déclarées 'static'. Elles sont alors top-level comme les classes du package. L'avantage dans ce cas réside dans la visibilité des attributs et dans la structuration des classes.
40 Classes internes class Pile{ int taille =0; Maillon sommet; public void empiler(object v){ public String tostring(){... public Enumeration elements(){ return new EnumerationPile(); // classe interne class EnumerationPile implements Enumeration{ Maillon mailloncourant= sommet; // a revoir public boolean hasmoreelements(){ return mailloncourant!= null; public Object nextelement(){ Object valeurderetour = mailloncourant.valeur; mailloncourant=mailloncourant.souspile; return valeurderetour; //
41 Classes anonymes class Pile{... public Enumeration elements(){ return new Enumeration(){ Maillon mailloncourant= sommet; ; public boolean hasmoreelements(){ return mailloncourant!= null; public Object nextelement(){ Object valeurderetour = mailloncourant.valeur; mailloncourant=mailloncourant.souspile; return valeurderetour;
42 Type ou Classe une variable à un type définit à la compilation int, int[], PrintStream, Integer ou String une valeur comme 3 est de type int un objet à une classe (implémentation d'un type) "Hello world" est de classe String.class new int[3] est de classe int[].class
43 classe Class les types primitifs sont eux aussi associés à un objet de classe Class. cet objet est désigné par int.class par exemple pour int. il en existe même un pour void qui pourtant n'est pas un type!!!! On accède également à cet objet par le champ type de la classe wrapper correspondante ex Integer.TYPE Bizarre : void dispose aussi d'une classe wrapper Void (celleci ne peut être instanciée!)
Programmation Par Objets
Programmation Par Objets 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é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é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é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é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étailChapitre 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é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é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é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é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é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é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é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é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é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étailIntroduction. Les méthodes. Les méthodes. Identité et égalité. Identité et égalité. La copie d'objets. Identité et égalité.
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
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é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é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é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é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é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é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é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é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é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é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é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étailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en dé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é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é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étail1 Définition d une classe en Java
Université Montpellier-II UFR des Sciences - Département Informatique Licence Informatique - Ingénierie Logicielle - Concepts et Outils de la modélisation et du développement de logiciel par et pour la
Plus en dé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é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é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étailInitiation à la programmation orientée-objet avec le langage Java
Initiation à la programmation orientée-objet avec le langage Java Pôle Informatique 2013-2014 158 cours Fauriel 42023 Saint-Étienne Cedex 02 Gauthier Picard gauthier.picard@emse.fr Institut Henri Fayol,
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étailClasse Interne, Anonyme & Enumération
Java Avancé Classe Interne, Anonyme & Enumération Rémi Forax forax@univ-mlv.fr 1 Rappel Nous nous intéressons aujourd'hui à deux formes de type abstrait en Java Les interfaces Les classes abstraites Les
Plus en détailProgrammation 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é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étailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en dé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é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é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étailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en dé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é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é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é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é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é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é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étailSupport de cours et TD Programmation Orientée Objet
REPUBLIQUE TUNISIENNE MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Institut Supérieur des Etudes Technologiques de Médenine Département Informatique Support de cours et TD Programmation
Plus en détailAide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr
Aide mémoire UML & Java 1ère partie : Introduction marc.lemaire@u-cergy.fr 9 septembre 2014 1 2014 v1.11 Table des matières 1 Généralités 6 1.1 Notations utilisées.....................................
Plus en dé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étailProgrammation Par Objets et Langage Java
Programmation Par Objets et Langage Java Partie II. Introduction à Java Najib Tounsi Ecole Mohammadia d'ingénieurs, Rabat Année 2011/2012 1ère année Génie Informatique http://www.emi.ac.ma/ntounsi/cours/java/poojavapart-2.pdf
Plus en détailLOG4430 : Architecture logicielle et conception avancée
LOG4430 : Architecture logicielle et conception avancée Yann-Gaël Guéhéneuc Cours 3 Bibliothèques et chargement Dynamique de composants Département de génie informatique et de génie logiciel École Polytechnique
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é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étailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailProgrammation Objet Java Correction
INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le
Plus en détailF. Barthélemy. 17 mai 2005
Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes
Plus en dé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é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étailCalcul Parallèle. Cours 5 - JAVA RMI
Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation
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é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é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étailLa JVM. La machine virtuelle Java. La JVM. La JVM
La machine virtuelle Java Historique et rappels Organisation mémoire de la JVM Le garbage collector Le bytecode, la machine à pile. Les threads Suivi, tracé, optimisation d un programme Java JVM embarquées
Plus en détailJava Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
Plus en dé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étailALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET
ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET I. INTRODUCTION 1.1. HISTORIQUE 1991: Concepts Java pour Sun -conception d'un langage pour des appareils électroniques(code embarqué) -syntaxe proche du C++
Plus en dé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étailProgrammation Orientée Objet application au langage Java Version Novembre 2007
Programmation Orientée Objet application au langage Java Version Novembre 2007 Mickaël BARON - 2007 mailto:baron.mickael@gmail.com ou mailto:mickael.baron@serli.com SERLI informatique SERLI : www.serli.com
Plus en détailJava c est quoi? Java pourquoi?
Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle
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és des premiers exercices sur les classes
Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.
Plus en détailProgrammation par composants (1/3) Programmation par composants (2/3)
Programmation par composants (1/3) La programmation par composant vise le développement de logiciel par aggrégation de briques logicielles existantes est indépendante de la POO La programmation par composant
Plus en détailet se trouve popularisé rapidement pour ses possibilités de développement liés au Web. Les
Chapitre 3 Java, langage de développement objet 3.1 Présentation de Java 3.1.1 Objectifs Le langage Java a été développé afin de pouvoir générer des applications qui soient indépendantes des machines et
Plus en détailLambda! Rémi Forax Univ Paris-Est Marne-la-Vallée
Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant
Plus en détailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Plus en dé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é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étailPolycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5
UNIVERISTE MOHAMMED PREMIER Faculté des Sciences d Oujda Oujda - Maroc Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 Pr. El Mostafa DAOUDI Département de Mathématiques
Plus en détailGestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
Plus en détailIntroduction au langage Java
Introduction au langage Java 1 Introduction : Langage développé par Sun et purement orienté objet. N a pas de rapport direct avec Javascript développé par Netscape. Les applications java peuvent être des
Plus en dé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 A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailC++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement
C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit
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étailLa carte à puce. Jean-Philippe Babau
La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus
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étailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Plus en dé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étailRemote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plus en détailNotion de thread (1/2)
Notion de thread (1/2) La machine virtuelle java (JVM) permet d'exécuter plusieurs traitements en parallèle (en pratique, ils s'exécutent par tranche et en alternance sur le processeur). Ces traitements
Plus en détailIRL : Simulation distribuée pour les systèmes embarqués
IRL : Simulation distribuée pour les systèmes embarqués Yassine El Khadiri, 2 ème année Ensimag, Grenoble INP Matthieu Moy, Verimag Denis Becker, Verimag 19 mai 2015 1 Table des matières 1 MPI et la sérialisation
Plus en détail