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

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

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

Transcription

1 Modélisation Objet Introduction à JAVA

2 Historique Les langages objets Simula 67 (trop tôt) Smalltalk 80 : purement objet Objective C : extension du C, esprit Smalltalk C++ : extension du c; le plus utilisé et JAVA

3 Historique Ancêtre : OAK (SUN, 1991) Langage indépendant de la machine Premier JAVA en 1994 (SUN) La vie de JAVA est liée à celle des navigateurs internet JAVA 2 (1.3) : 2000

4 Objectifs La programmation internet Code mobile Problèmes : Portabilité et transportabilité totales Sécurité Gestion mémoire

5 Principes Langage objet Simplicité Syntaxe c++ Plus simple que C++ Code JAVA indépendant de la plateforme Gestion mémoire automatisée Langage sécurisé

6 La machine virtuelle J AVA (JVM) Une source JAVA se compile en J Code Le J Code est interprété par une JVM Le J Code est indépendant de l environnement matériel et logiciel La JVM masque le système mais elle est dépendante du système Le J Code est portable et mobile!

7 Compilation et exécution d un programme JAVA Écriture du programme Exemple : ex1.java Compilation : commande javac Javac ex1 Produit un ex1.class Exécution : invocation de java (la JVM) Java ex1

8 Structure d un programme JAVA En JAVA, tout est classe Sauf type numériques, booléens, caractères Écrire un programme JAVA, c est définir et implémenter des classes Une classe peut contenir une fonction principale (main(string args[])) Cette méthode peut être invoquée à partir d une console : Java <nom de la classe>

9 Structure d un programme JAVA En JAVA, tout est classe Sauf type numériques, booléens, caractères Écrire un programme JAVA, c est définir et implémenter des classes Une classe peut contenir une fonction principale (main(string args[])) Cette méthode peut être invoquée à partir d une console : Java <nom de la classe>

10 Un premier programme JAVA Import java.io.* // importation du package io Class salut { Public static void main(string args[]){ Afficher(); } Public void afficher(){ System.out.println(«salut tout le monde»); System.exit(0);

11 Variables Toutes typées Définition et initialisation : <type> <nom> = <valeur> Int a =3;int b; Initialisation par défaut à 0/null Une variable ne peut être définie que dans une classe (pas de variable globale)

12 Types de données : Types primitifs Manipulés par valeurs Types références Manipulés par référence Codage indépendant de la plateforme Indispensable pour la portabilité

13 Types primitifs byte short int long float double char boolean 8 bits 16 bits 32 bits 64 bits 32 bits IEEE bits IEEE bits Unicode True/false

14 Types références (complexes, composés)flo Vecteurs et matrices Int tab[]; // vecteur d entiers Int[] tabaussi; // idem! Float matrice[][]; //matrices de flottants Les tailles ne sont pas spécifiées à la déclaration Elles doivent être fixées par la méthode new Int tab[] = new int[5} Float matrice[][] = new float[4][6]; Char tabchar[][] = new char[10][]; Tabchar[0]= new char[4]; On ne s occupe pas de la libération de la mémoire Autres types références : classes, interfaces

15 variables finales Leur valeur ne peut être fixée qu une fois Syntaxe : Final int t; Final float f = 0.0; T=3;

16 Les opérateurs Similaire au C++ +,, *, /, % +=, =, %=, >, <, <=, >=,==,!=!, &,, ^ &&!=, &=, =,?= <<, >>, >>>, <<=,

17 Les structures de contrôle If (condition) {instructions } [else{instructions}] If (i=0) {System.out.println(«nul»);} Else {System.out.println(«non nul»);} Switch (variable) { case <valeur 0> : {instructions} case <valeur n> : {instructions} Default : {instructions} }

18 Les structures de contrôle Do {instructions} while (condition) While (condition) do {instructions} For ( intialisation; condition; instructions) {Instructions} For (int i=0; i<2;i++) j+=i; Break, continue

19 Classes et objets en JAVA Définition d une classe : Class <nom> { definitions } Exemple :Class point { float x;float y;} Une classe contient : Des définitions de variables d instances Des définitions de méthodes Des variables de classe Des méthodes de classe D autres définitions de classe (classes encapsulées, inner class)

20 Variables d instance : Crées lors de l instanciation de la classe La variable appartient à l instance ( à l objet) X et y sont des variables d instance de la classe point Chaque objet possède un couple de variables x y Méthodes d instance Déclaration classique Float norme() { return sqrt(x*x+y*y);} Invocation sur son instance Point p;. Float n = p.norme(); Signature : type de retour, liste des paramètres, nom, classe

21 Variables de classe : Durée de vie indépendante des instances Une variable de classe est partagée par toutes les instances C est une variable commune aux instances d une classe Définition : static <type> <nom>; Accès : <nom_classe>.<nom_variable> Exemple : Class pile { Point tab[]; Static public Int taille_maxi;. } Pile.taille_maxi=3;

22 Méthodes de classe : Peuvent être invoquées sans instance Exemple : la fonction main Permet d encapsuler des méthodes sans créer d instance Définition : Static <définition de la méthode> Utilisation : <nom_classe>.<nom_methode>(liste de paramètres); Exemple : Class pile { Point tab[]; Static void redimensionner(int t){ };.} Georges Pile.redimensionner(3); Linares IUP GMI Université d Avignon et des Pays de Vaucluse

23 Constructeurs : Une classe possède au moins un constructeur Un constructeur ne construit pas un objet : il l initialise Les constructeurs diffèrent par la liste des paramètres (et l implémentation!) Destructeurs En général inutile JAVA utilise un Garbage Collector (ramasse miettes) Chaque objet possède un compteur de références Le GC détruit périodiquement les objets non référencés Automatique mais pas optimal Destruction explicite : Invocation d une méthode finalize()

24 Contrôle de l accès aux membres d une classe Motivation : limiter l utilisation des variables/fonctions membres Variables/méthodes privées (internes) Variables/méthodes publiques Variables/méthodes accessibles par les classes dérivées uniquement (protected) Accès aux composants du package (package)

25 Contrôle de l accès aux membres d une classe Protection au niveau classe N importe quel objet d une classe peut accéder à tous les attributs des objets de même type Syntaxe : Class pile { Protected Point tab[]; Public void empiler(point p){}; Public point depiler(); Private void agrandir(); }

26 Classes encapsulées Motivation : Limite la portée d une définition de classe Permet la définition de classes «assistantes» Evite l utilisation inadéquate de classes outils Exemple : class liste { Class maillon { int info; Maillon suiv; } Private Maillon debut;. }

27 Héritage Pas d héritage multiple direct en JAVA ( cf interfaces) Héritage simple : La sous classe spécialise sa super classe La super classe généralise ses sous classes Une classe dérivée hérite des méthodes et des attributs de la superclasse L accès à ces attributs est réglementé par le statut des variables héritées : Public : les membre hérités sont public et accessibles Private : les attributs ne sont pas accessibles Protected : les attributs ne sont accessibles que par les héritiers Syntaxe : class <nom classe dérivée> extends <nom super classe>

28 L opérateur new Deux rôles complémentaires 1 : Création d une variable Allocation de l espace mémoire Exemple : int a = new int; Employe = new personne; Exception de type OutOfMemoryError si mémoire insuffisante Implicite : l allocation n apparaît pas dans le constructeur

29 L opérateur new Deux rôles complémentaires 2 : initialisation d une variable Exemple : int a = new int(2); Employe = new personne(«durand»); New renvoie une référence Allocation dynamique mais on ne s occupe de la libération de la mémoire

30 Les constructeurs Un objet est toujours construit et détruit Constructeur par défaut : Sans argument Initialisation des valeurs à 0 Invoqués par l opérateur new Si un constructeur est défini, alors il n y a plus de constructeur par défaut!

31 Les constructeurs Exemple : Class point { Private int x,y; Point(int a,int b) {x=a;y=b;}; }; Point p=new point(2,4);// ok Point q = new point();// NON Class point { Private int x,y; }; Point p=new point(2,4);// non Point q = new point(); // ok

32 Constructeurs et héritage Un objet d une classe dérivée est une instance de ses ancêtres Invocation implicite ou explicite des constructeurs des super classes Ces constructeurs doivent exister!

33 Constructeurs et héritage Invocation implicite : Constructeur par défaut Exemple : Class compte { float solde;} Class compte_rem extends compte { Float taux; Compte_rem() {};

34 Constructeurs et héritage Class cpte { float solde; } Class cpte_rem extends cpt { Float taux; Cpte_rem() {taux=5.5}; // OK Class cpte { float solde; Cpte(float s){solde=s;} }; Class cpte_rem extends cpte{ Float taux; Cpte_rem(){ taux=5.5; // ERREUR };

35 Constructeurs et héritage Class cpte { float solde; Cpte(float s){solde=s;} }; Class cpte_rem extends cpte{ Float taux; Cpte_rem(float t){ Super(0.0);// appel au constructeur de la super classe taux=t; }; Cpte_rem() { this(5.5;);};

36 L affectation Types primitifs : recopie de la valeur : int a,b=4; a=b; Types référence : recopie de l adresse Int t[],s[]; T = new int[3]; S=t; int p2, p = new point(2,3); P2=p;

37 L affectation Types primitifs : recopie de la valeur : int a,b=4; a=b; Types référence : recopie de l adresse Int t[],s[]; T = new int[3]; S=t; int p2, p = new point(2,3); P2=p;

38 Les exceptions Anomalie dans une méthode : Class fraction{ int num; int den; Float frac2reel() { return num/(float) den;};// den == 0? } Valeur de retour particulière Restrictif ou impossible Float frac2reel() { If (den==0.0) return??? return num/(float) den;};// den == 0?

39 Les exceptions Paramètre dédié float frac2reel(integer code_erreur){ If (den==0.) { code_erreur = 1; Return INF ; } Else code_erreur =0; Return num/(float)den; } Coût important : erreur exceptionnelle Arrêt de l application Rien

40 Les exceptions Solution JAVA (C++) : exceptions Mécanisme standard Gestion automatisée Modélisation objet des erreurs

41 Les exceptions Super classe exception Définitions de classes d erreurs dérivées de exception Lorsqu une erreur se produit, une exception est levée Les exceptions sont récupérées par l appelant

42 Les exceptions Définition d une classe d exception Class err_num extends exception{ String msg; }

43 Les exceptions Levée d une exception Class frac{ Int num; Int den; Float frac2reel() throws err_num { If (den==0.0) throw new err_num(); Return num/(float)den;

44 Les exceptions Levée d une exception : Le type de l exception doit être spécifié dans la définition de la méthode (throws) Lever une exception : créer un objet d une dérivée de exception Envoyer le signal (l objet) par l instruction throw La levée d une exception stoppe l execution de la méthode

45 Les exceptions Récupération des exceptions Try { Frac f = new frac(2,0); Float t = f.frac2reel(); System.out.println(«salut»); } catch (err_num e) { System.out.println(e.msg;); }

46 Les exceptions Récupération des exceptions Si une exception est levée par une instruction du bloc try { } alors un gestionnaire convenable est cherché dans les clauses catch() L exécution reprend après la séquence try catch

47 Les exceptions Recherche du gestionnaire Dans l ordre d apparition Le premier gestionnaire acceptable stoppe la recherche Un gestionnaire est acceptable si : Le type de l exception définie dans le catch est le type de l exception levée Ou si c est une super classe de l exception levée

48 Les exceptions Recherche du gestionnaire Class err extends exception {; } Class err_num extends err { }; Try { Frac f = new frac(2,0); Float t = f.frac2reel(); System.out.println(«salut»); } catch (err e) { System.out.println(«erreur»); } catch (err_num e) { System.out.println(«erreur numérique»); } catch (ioexception) { System.out.println(«erreur entrée/sortie»); }

49 Les exceptions Recherche du gestionnaire Si aucun ne convient alors la recherche se poursuit dans la pile d exécution (dans les méthodes appelantes) Jusqu à trouver un gestionnaire ou stopper l application

50 Les exceptions Clause finally : Try { Frac f = new frac(2,0); Float t = f.frac2reel(); System.out.println(«salut»); } catch (err e) { System.out.println(«erreur»); } finally { System.out.println(«erreur inconnue»); }

51 Les exceptions Hiérarchie des classes d exception Object Throwable Error Exception RunTimeException IOException

52 Les classes abstraites Certaines classes regroupent des propriétés/méthodes mais ne sont pas instanciables Exemple : abstract Class valeur_num { abstract void afficher();}; Class fraction extends val_num{ }; Mot clef abstract Intérêt : Cohésion du modèle Classe : entitée conceptuelle

53 Les méthodes abstraites Une méthode abstraite n a pas d implémentation Les classes dérivées doivent implémenter les méthodes abstraires (virtuelles) Contrainte imposée aux dérivées Une classe abstraite peut ne pas contenir de méthodes abstraites Le mot clef final bloque l héritage polymorphe

54 Les Interfaces Motivations et principes: Pas de séparation interface/implémentation en JAVA Interface : contrat entre une classe et ses utilisateurs Une interface est un patron définissant un ensemble de méthodes abstraites Une interface n est pas instanciable Une interface peut être vue comme une classe abstraite

55 Les Interfaces Syntaxe Définition interface <id> { définitions de fonctions (abstraites) et de constantes de classes (static final) }; Utilisation classe <id classe> implements <id interface> { Implémentation des méthodes d interfaces }

56 Les Interfaces Méthodes d interfaces Méthodes virtuelles Toutes publiques Mais inutile d utiliser le mot clef abstract Les classes implémentant l interface doivent implémenter ses méthodes

57 Les Interfaces Implémentation d interfaces multiples Forme d héritage multiple Syntaxe : Class <id> implements <id 1>,<id 2> { }; // <id> implémente les interfaces id 1 et id 2 Pas d héritage répété Deux implémentations ne sont jamais concurrentes lors de l héritage

58 Héritage d interfaces Héritage simple ou multiple Syntaxe : interface <id 1> extends <id 2>, <id 3> { } id 1 hérite des interfaces id 2 et id 3

59 Polymorphisme et interfaces une implémentation peut être manipulée par un identificateur d interface classe cls implements itf { } cls obj = new cls; itf it = obj; Forme de polymorphisme

60 Classes primitives Les types primitifs sont manipulés par valeur Ils sont encapsulés dans des classes : Integer Float

61 Modélisation Objet Support JAVA Composants réutilisables Motivation Économie de codage Sureté de fonctionnement Efficacité Objectif essentiel de l approche objet!

62 Modélisation Objet Support JAVA Composants réutilisables Principes Fournir une infrastructure (modèle de composants) Fournir des composants Structures de données Algorithmes fréquement utilisés

63 Modélisation Objet Support JAVA Composants réutilisables Séquences Ensembles Fonctions Collections

64 Modélisation Objet Support JAVA Composants réutilisables : les séquences Ensemble ordonné d éléments Accès séquentiel Opérations : Création destruction Insertion d un objet Recherche

65 Modélisation Objet Support JAVA Composants réutilisables : les séquences Opérations sur les séquences : Éventuellement : Comparaisons Concaténations Extractions Fusions

66 Modélisation Objet Support JAVA Les séquences en JAVA Classe Vector du package java.util Opérations : Construction : Vector(); Ajouts : void addelement(object obj); void addelementat(objet obj, int index); Suppression : boolean removeelement(objet obj); void removeelementat(int index); void removeallelement(); Taille : int size(); Int isempty();

67 Modélisation Objet Support JAVA Les séquences en JAVA Opérations : Accès par la position: Object firstelement(); Object lastelement(); Object elementat(int index); Recherche (accès par la valeur) : boolean contains(object obj); int indexof(object obj); int indexof(object obj, int depart); int lastindexof(object obj); int lastindexof(object obj, int depart);

68 Modélisation Objet Support JAVA Composants réutilisables : les ensembles Collection d objets non ordonnée! Opérations : Création Ajout d un élément Suppression Recherche Vide/non vide

69 Modélisation Objet Support JAVA Composants réutilisables : les ensembles Opérations sur les ensembles: Réunion Intersection Différence symétrique Inclusions

70 Modélisation Objet Support JAVA Composants réutilisables : les fonctions Définition : F de E >F : Association d un unique élément de F à chaque élément de E Opérations : Ajout / suppression de liens (bof) Intérrogation : Deux éléments sont ils en relation? Quelle est l image d un élément de E?

71 Modélisation Objet Support JAVA Les fonctions en JAVA : associations Classe Hashtable Package java.util Couples clefs/valeurs (argument/résultat) Méthodes de recherche type tables de hashage Méthode de hashage : hashcode() Générique Surchargeable pour uniformiser la répartition des éléments

72 Modélisation Objet Support JAVA Les fonctions en JAVA : associations Exemple : Hashtable annuaire = new Hashtable(); String nom = «dupont»; String numtel = « »; Annuaire.put(nom,numtel);

73 Modélisation Objet Support JAVA Les collections Principe Collection framework : environnement complet Gestion d un ensemble d éléments Spécifications par un ensemble d interfaces Implémentations abstraites Implémentations sommaires algortihmes (fonction statiques sur des collections)

74 Modélisation Objet Support JAVA Les collections Collection Framework interfaces : collection collection :: Set, List, SortedList Map, Sorted Map certaines implémentations sont optionnelles mutable, modifiable, fixed size les opérateurs correspondants lèvent des execeptions

75 Modélisation Objet Support JAVA Les collections Interface collection Pas d hypothèse de séquentialité Interface racine Quelques méthodes : boolean add(object); boolean remove(object); boolean contains(object); Int hashcode(); Object[] toarray() boolean iterator();

76 Modélisation Objet Support JAVA Les collections Les itérateurs Motivations : Parcours uniforme des collections Indépendants de la structure sous jacente Curseurs sur des strucures non ordonnées

77 Modélisation Objet Support JAVA Les collections Les itérateurs Équivalent aux itérateurs de la STL du C++ Pointeurs généralisés Opérations : Créations Liens avec les collections Accès à l élément courant Déplacement

78 Modélisation Objet Support JAVA Les collections Les itérateurs : exemple Hashtable annuaire = new Hashtable(); String nom = «dupont»; String numtel = « »; Annuaire.put(nom,numtel); Enumeration ptr;.//remplissage de la table Ptr = annuaire.keys(); While (ptr.hasmoreµelements()) { String nom= (String) ptr.nextelements(); String numtel = (String) annuaire.get(nom);

79 Modélisation Objet Support JAVA Les collections Les interfaces dérivées : set interface set extends collection interface sortedset extends set Implémentation : AbstractSet, HashSet, LinkedHashSet, TreeSet

80 Modélisation Objet Support JAVA Les collections Les interfaces dérivées : List Classes implémentant List : ArrayList LinkedList Vector AbstractList

81 Modélisation Objet Support JAVA Les packages Outils de génie logiciel Motivations : Structurer les applications de grande taille Regrouper les classes en groupes homogènes Stocker/recupérer des ensembles de classes

82 Modélisation Objet Support JAVA Les packages Critères de regroupement Fonctionalités Niveau de traitement Domaine Variantes d implémentations

83 Modélisation Objet Support JAVA Les packages Définitions Package <id> placé en début du fichier Les classes définies dans le fichiers appartiennent alors au package <id> Certaines implémentation exigent que les fichiers soient regroupés dans un répertoire.. Dont le nom est le nom du package

84 Modélisation Objet Support JAVA Les packages Organisation hiérarchique des packages Notation : pack1.pack2 pack2 est un sous package de pack1 Pack2 peut devoir être un sous répertoire de pack1

85 Modélisation Objet Support JAVA Les packages Classes privées et publiques d un package public : La classe est utilisable par les classes des autres apckages private : La classe est masquée aux autres package Elle reste utilisable à l intérieur du package

86 Modélisation Objet Support JAVA Les packages Visibilité et packages Private : attributs et méthodes visibles par la seule classe Public : visibilité totale Protected : visibilité par toutes les classes du package et par les dérivées de la classe Accés par défaut (package)

87 Modélisation Objet Support JAVA Les packages Rappel : encapsulation des données Les variables doivent être privées L accès est réglementé par des méthodes accesseurs L encapsulation garantis la stabilité de l interface de la classe

88 Modélisation Objet Support JAVA Les packages Utilisation Instruction import Suppose les classes compilées Chemin de recherche des packages : Les packages standards sont dans un fichier classes.zip Variable d environnement CLASSPATH Exemple : CLASSPATH=.;C:\java\JDK\Lib\classes.zip;

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

as Architecture des Systèmes d Information

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

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

Programmation Par Objets

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

Plus en détail

Package Java.util Classe générique

Package Java.util Classe générique Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object

Plus en détail

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

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

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

Une introduction à Java

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

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

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

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

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

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

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

Plus en détail

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

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

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

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

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

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

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

PROGRAMMATION PAR OBJETS

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

Premiers Pas en Programmation Objet : les Classes et les Objets

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

Remote Method Invocation (RMI)

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

TP1 : Initiation à Java et Eclipse

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

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

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

Plus en détail

Java Licence Professionnelle CISII, 2009-10

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

Plus en détail

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

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

Plus en détail

Cours 1: Java et les objets

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

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

TD/TP PAC - Programmation n 3

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

Chapitre VI- La validation de la composition.

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

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Objets et Programmation. origine des langages orientés-objet

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

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

INITIATION AU LANGAGE JAVA

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

Héritage presque multiple en Java (1/2)

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

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

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

1 Définition d une classe en Java

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

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

TD/TP PAC - Programmation n 3

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

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

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

Plus en détail

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets

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

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

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

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

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

Java Licence Professionnelle CISII, 2009-2010

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

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

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez... Au programme Conception Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Présentation L UE COO est le prolongement immédiat de l UE POO du S4 informatique. cf. http://portail.fil.univ-lille1.fr/portail/ls4/poo

Plus en détail

Java c est quoi? Java pourquoi?

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

Java 1.5 : principales nouveautés

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

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

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

Remote Method Invocation Les classes implémentant Serializable

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

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

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

Langage Java. Classe de première SI

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

Threads. Threads. USTL http://www.lifl.fr/ routier 1

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

Bases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions

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

Programmation Orientée Objet application au langage Java Version Novembre 2007

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

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

JAVA. Introduction à la programmation objet avec java 1/4. Nadir BOUSSOUKAIA

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

RMI le langage Java XII-1 JMF

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

Génie Logiciel avec Ada. 4 février 2013

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

Support de cours et TD Programmation Orientée Objet

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

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Introduction au langage de programmation Java

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

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

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

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

4. Groupement d objets

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

Classe Interne, Anonyme & Enumération

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

Calcul Parallèle. Cours 5 - JAVA RMI

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

TP, première séquence d exercices.

TP, première séquence d exercices. TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la

Plus en détail

Utilisation d objets : String et ArrayList

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

Programmation MacOSX / ios

Programmation MacOSX / ios Programmation MacOSX / ios Master Ingénierie Informatique 2011-2012 Jean-Baptiste.Yunès@liafa.jussieu.fr deux extensions objets de C : C++ (Stroustrup) Objective-C (Cox & Love) ajout de constructions à

Plus en détail

La JVM. La machine virtuelle Java. La JVM. La JVM

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

Initiation à la programmation orientée-objet avec le langage Java

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

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

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

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

Design patterns. Design patterns - définition. Design patterns - avantages

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

Un ordonnanceur stupide

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

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Introduction au langage Java

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

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Programmation Objet Java Correction

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

Introduction. Les méthodes. Les méthodes. Identité et égalité. Identité et égalité. La copie d'objets. Identité et égalité.

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

Synchro et Threads Java TM

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

Dis papa, c est quoi un bus logiciel réparti?

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

La carte à puce. Jean-Philippe Babau

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

Création d objet imbriqué sous PowerShell.

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

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Derrière toi Une machine virtuelle!

Derrière toi Une machine virtuelle! Derrière toi Une machine virtuelle! Yann-Gaël Guéhéneuc guehene@emn.fr École des Mines de Nantes, France Object Technology International Inc., Canada D où ça vient? Calculatrice Machine de Turing 1936

Plus en détail

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

Apprendre Java en 154 minutes

Apprendre Java en 154 minutes Apprendre Java en 154 minutes Tutorial Java 1.6 - HESB-TI Stéphanie Calderara José R. Beuret Quentin Cosendey Mai 2008 Table des matières 1 Objet, classe et modificateur 3 1.1 Le premier pas..........................

Plus en détail

Remote Method Invocation en Java (RMI)

Remote Method Invocation en Java (RMI) Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

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