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

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

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

5. Collections dans Java. Olivier Curé - UMLV [page 143 ]

5. Collections dans Java. Olivier Curé - UMLV [page 143 ] 5. Collections dans Java Olivier Curé - UMLV [page 143 ] Présentation générale Une collection est un objet qui contient d'autres objets. Ces objets proposent une solution au stockage de données et permettent

Plus en détail

Une introduction au langage C++ Marc Jachym, Lurpa

Une introduction au langage C++ Marc Jachym, Lurpa Une introduction au langage C++ Marc Jachym, Lurpa Janvier 2008 À l origine, le langage C Langage procédural créé dans les années 1970 aux laboratoires Bell (ATT : télécoms américains) en vue d écrire

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

Plus en détail

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

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

POO 1/3 - Introduction à la Programmation Orientée Objet. Pierre Parrend IUT Lumière Lyon II, 2005-2006 pierre.parrend@univ-lyon2.

POO 1/3 - Introduction à la Programmation Orientée Objet. Pierre Parrend IUT Lumière Lyon II, 2005-2006 pierre.parrend@univ-lyon2. POO 1/3 - Introduction à la Programmation Orientée Objet Pierre Parrend IUT Lumière Lyon II, 2005-2006 pierre.parrend@univ-lyon2.fr Sommaire Les Langages de Programmation Premier Programme Les Objets Objets

Plus en détail

Programmation 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

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 +Cours 2 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

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

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

ENSTA : cours IN204 Introduction à JAVA et UML

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

Plus en détail

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

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

Plus en détail

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 1 Stéphane Airiau Université Paris-Dauphine Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 1 Aujourd hui Eléments de base Variables, opérateurs, type d une expression

Plus en détail

Java. Partie 1 : QCM. Consignes pour le bons déroulement du devoir

Java. Partie 1 : QCM. Consignes pour le bons déroulement du devoir Consignes pour le bons déroulement du devoir - Ce document comporte un QCM et une partie où il faut écrire du code en - Marquez vos réponses au QCM sur la feuille de réponses fournie (notez que certaines

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 classe est une sorte de type de données définie par le programmeur Variables peuvent être de type classe

Une classe est une sorte de type de données définie par le programmeur Variables peuvent être de type classe Classe, Objet Variables locales Niveaux de visibilité (Encapsulation) Attributs et Méthodes Statiques Surcharge des Méthodes Transmission des Paramètres Paquetage Classes pour les types de base POO 1 Une

Plus en détail

Précis de vocabulaire Orienté Objet

Précis de vocabulaire Orienté Objet Dernière Mise à jour : Mars 2007 Précis de vocabulaire Orienté Objet 1 Questions Expliquer et donner un exemple pour chacun des concepts suivants 1. Qu'est-ce qu'un objet? 2. Qu'est-ce qu'une classe? 3.

Plus en détail

Éléments de base en Java (suite et fin)

Éléments de base en Java (suite et fin) Éléments de base en Java (suite et fin) P.O.O. LMI 2 Semestre 4 Option Info Année 2008-09 1/33 Éléments de base en Java (suite et fin) Année 2008-09 Plan du cours Les chaînes de caractères Retour vers

Plus en détail

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

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

Plus en détail

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2011/2012 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 1 Date : jeudi 26 janvier 2012 Durée : 1H30 Coordonnateurs : Christian Bac et Denis

Plus en détail

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

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

Plus en détail

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

LES FICHIERS. 1-169169 JAVA Christine BONNET

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

Plus en détail

FORMATION VB.NET Visual Studio 2008

FORMATION VB.NET Visual Studio 2008 FORMATION VB.NET Visual Studio 2008 Livret 1 Introduction à Visuàl Studio Thierry TILLIER http://www.coursdinfo.fr Ce support de cours est réservé à un usage personnel. Toute utilisation et diffusion dans

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

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

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

Plus en détail

Cours 1. Contenu du cours : " Premières applications. " Compilation, Exécution, Chemin. " Affichage et saisie. " Types de données. " Flux de contrôle

Cours 1. Contenu du cours :  Premières applications.  Compilation, Exécution, Chemin.  Affichage et saisie.  Types de données.  Flux de contrôle Cours 1 1 Contenu du cours : " Premières applications " Compilation, Exécution, Chemin " Affichage et saisie " Types de données " Flux de contrôle " Applets " Arrays " OO de base Edition Le fichier texte

Plus en détail

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

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

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

Programmation Orientée Objet - Licence TIS CM2/9

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

Plus en détail

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

Aspects Objets avancés dans le langage Java

Aspects Objets avancés dans le langage Java POO Programmation Impérative Programmation orientée Objet et modélisation UML Aspects Objets avancés dans le langage Java Collections Concepts Objet Avancés Apis Exception classes abstraites Interface

Plus en détail

La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object

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

Plus en détail

cours 4 : programmes fiables

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

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java Nicolas Dumoulin nicolas.dumoulin@cemagref.fr Cemagref Laboratoire d ingénierie pour les systèmes complexes 2010 Notes aux lecteurs Ce document est un support de cours qui

Plus en détail

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

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

Plus en détail

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

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

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

Plus en détail

Programmation 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

Programmer avec les exceptions en Java

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

Plus en détail

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

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

Plus en détail

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

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

PPOOGL. Florent de Dinechin. Java pour les nuls

PPOOGL. Florent de Dinechin. Java pour les nuls PPOOGL Florent de Dinechin Java pour les nuls Java en 30 minutes Introduction Grands principes Pour en finir avec l organisation Types de base et objets Le reste est dans le manuel PPOOGL 1 Introduction

Plus en détail

PARADIGME ORIENTÉ-OBJET

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

Plus en détail

L héritage Encore un petit topo des familles. Je pense qu'avec ce genre de chapitre, ce n'est pas du luxe...

L héritage Encore un petit topo des familles. Je pense qu'avec ce genre de chapitre, ce n'est pas du luxe... L héritage Encore un petit topo des familles. Je pense qu'avec ce genre de chapitre, ce n'est pas du luxe... Une classe hérite d'une autre classe par le biais du mot clé extends. Une classe ne peut hériter

Plus en détail

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

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

Plus en détail

Le Langage Java et le Monde des Objets

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

Plus en détail

Listes de personnes et calculatrice polonaise inverse en Java

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

Plus en détail

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

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

Plus en détail

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

} 7 Variables (composantes)

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

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Complément d exercices avec correction

Université Mohammed Premier Année universitaire 2011-2012. Complément d exercices avec correction Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques et d Informatique Module : POO Java Semestre : S5 Complément d exercices avec correction

Plus en détail

POO LES EXCEPTIONS LES EXCEPTIONS

POO LES EXCEPTIONS LES EXCEPTIONS CHAPITRE 7 : LES EXCEPTIONS Objectifs spécifiques 1. Introduire la notion d exception, les règles d utilisation et de définition des exceptions. 2. Distinguer entre les exceptions prédéfinies et les exceptions

Plus en détail

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International PRESENTATION DE JAVA Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références 1 Qu est-ce que java? Un langage de programmation orienté objets Une architecture de Virtual

Plus en détail

Programmation Par Objets

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

Plus en détail

Programmation Java. Redéfinition de méthode (masquage)

Programmation Java. Redéfinition de méthode (masquage) Programmation Java Programmation objet avec Java Concepts plus avancés Christelle Urtado & Sylvain Vauttier Janvier 2013 Redéfinition de méthode (masquage) Une sous-classe peut redéfinir le code de méthodes

Plus en détail

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

IN104. Programmation orientée objet Introduction aux objets

IN104. Programmation orientée objet Introduction aux objets IN104 Programmation orientée objet Introduction aux objets Séance de Travaux Dirigés du 24 septembre 2009 B. Monsuez, F. Védrine Exercice 1 Notre compteur en C++ Nous étudions dans cet exercice l exemple

Plus en détail

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau Plan Tableaux Université de Nice - Sophia Antipolis Richard Grin Version 1.0.4 25/11/10 Définition Déclaration d un tableau Création d un tableau Utilisation d un dun tableau Tableau des paramètres de

Plus en détail

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

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

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

Plus en détail

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\ Exercices corrigés de programmation OO Java Préparés par : Mlle Imene Sghaier Année Académique : 2006-2007 Premiers Pas I. Avant de programmer en Java Le JDK de Sun (Java Development Kit) est l outil essentiel

Plus en détail

Programmation - Java - Fiches du Langage. Marie Beurton-Aimar

Programmation - Java - Fiches du Langage. Marie Beurton-Aimar Programmation - Java - Fiches du Langage Marie Beurton-Aimar Fiche Numéro 1 1.1 Structure d un programme Java Toutes les instructions se terminent par un ; Le nom du fichier qui contient une classe doit

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

Cours1 +Cours 2. Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1

Cours1 +Cours 2. Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Cours1 +Cours 2 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

Plus en détail

Algorithmique Programmation

Algorithmique Programmation Algorithmique Programmation 2ème partie DUT en alternance CNAM 2007-2008 2 Table des matières 1 Premiers Pas en Programmation Objet : les Classes et les Objets 7 1.1 Définir une Classe........................................

Plus en détail

HMIN111M Programmation en Java. Un aperçu des classes

HMIN111M Programmation en Java. Un aperçu des classes HMIN111M Programmation en Java Un aperçu des classes 1. Limites des types primitifs Programme de gestion des comptes bancaires 2 comptes par exemple (on ne connait pas les tableaux) Une classe Banque qui

Plus en détail

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs Sebastien.Kramm@univ-rouen.fr IUT GEII Rouen 2010-2011 S. Kramm (IUT Rouen) MCII1 - Cours 3 2010-2011 1 / 47 Sommaire 1 Rappels de C et définitions

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

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

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

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

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année Java RMI Programmation des applications réparties Olivier Flauzac URCA Master EEAMI-Informatique première année Olivier Flauzac (URCA) PAR : Java RMI MSTIC-INFO 1 1 / 30 1 RMI 2 Architecture 3 Développement

Plus en détail

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Claude Delannoy Exercices en langage C++ 3 e édition Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Chapitre 3 Les fonctions Rappels Généralités Une fonction est un bloc d instructions éventuellement

Plus en détail

Exercice 1 (API Java)

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

Plus en détail

Conception et Développement Orientés Objets Cours 1 : Introduction. 2 Les paradigmes de programmation. 3 Les concepts de la programmation objet

Conception et Développement Orientés Objets Cours 1 : Introduction. 2 Les paradigmes de programmation. 3 Les concepts de la programmation objet CNAM UV 19357 Année 2003-2004 David Delahaye David.Delahaye@cnam.fr Conception et Développement Orientés Objets Cours 1 : Introduction 1 Présentation de la valeur Ce cours s adresse à toute personne ayant

Plus en détail

Correction langage Java

Correction langage Java MINISTÈRE DE L ÉCOLOGIE, DU DÉVELOPPEMENT DURABLE, DES TRANSPORTS ET DU LOGEMENT EXAMEN PROFESSIONNEL DE VÉRIFICATION D APTIDUDE AUX FONCTIONS DE PROGRAMMEUR Session 2010 Correction langage Java Langage:

Plus en détail

Chapitre 7. Exceptions

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

Plus en détail

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

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

Plus en détail

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

Programmation Orientée Objet C++ Cours 1

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

Plus en détail

CORBA avec OpenORB. Samir Torki et Patrice Torguet

CORBA avec OpenORB. Samir Torki et Patrice Torguet CORBA avec OpenORB Samir Torki et Patrice Torguet 1 Présentation de CORBA CORBA (Common Object Request Broker Architecture) est un standard décrivant une architecture pour la mise en place d objets distribués.

Plus en détail

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Durée de l'épreuve : 2 heures TRÈS IMPORTANT : respectez l'ordre des questions. La lisibilité sera un critère important pour

Plus en détail

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

Le mécanisme d exception du langage Java

Le mécanisme d exception du langage Java Le mécanisme d exception du langage Java 1 / 39 Plan 1 Introduction aux exceptions en Java 2 Exemples de code avec gestion des exceptions 3 Créer ses propres exceptions 4 Instruction try/catch/finally

Plus en détail

Chapitre 1. 1.1 types primitifs. 1.2 Casting

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

Plus en détail

Polymorphisme. Programmation Orientée Objet. Jean-Christophe Routier Licence mention Informatique Université Lille 1

Polymorphisme. Programmation Orientée Objet. Jean-Christophe Routier Licence mention Informatique Université Lille 1 Polymorphisme Programmation Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Université Lille 1 - Licence Informatique Programmation Orientée Objet 1 des méthodes

Plus en détail

Héritage, et quelques petits mots-clés de Java

Héritage, et quelques petits mots-clés de Java Héritage, et quelques petits mots-clés de Java Bilan de la séance du 3 février. 1 Champs d instance, champs de classe La situation usuelle pour les attributs et les méthodes est la suivante : La classe

Plus en détail

nulles dans un langage à objets

nulles dans un langage à objets Prévention de déréférencement de références nulles dans un langage à objets Jean-Sébastien Gélinas, Étienne M. Gagnon, Jean Privat Université du Québec à Montréal Langages et Modèles à Objets Nancy 27

Plus en détail

Programmation par RPC et Java-RMI :

Programmation par RPC et Java-RMI : 2A-SI 3 Prog. réseau et systèmes distribués 3.2 et JavaRMI Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de l équipe pédagogique du

Plus en détail

6.1 Une classe simple pour représenter des comptes bancaires

6.1 Une classe simple pour représenter des comptes bancaires Chapitre 6 Héritage Ce chapitre du cours traite de concepts relatifs à la programmation objet (hiérarchie de classe, héritage, extension, masquage) et sera illustré par un exemple de représentation de

Plus en détail

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

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

Plus en détail