PARADIGME ORIENTÉ-OBJET

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "PARADIGME ORIENTÉ-OBJET"

Transcription

1 PARADIGME ORIENTÉ-OBJET A programming paradigm that uses objects to design systems. Sébastien Adam Une introduction des concepts de base

2 2 Principes fondamentaux Modularité : vise à répartir les opérations d'une application sur plusieurs modules, afin que le cycle de vie de chaque module soit indépendant des autres. Abstraction : vise à représenter un élément conceptuel et rendre certains détails de l élément logiciel correspondant invisibles afin de faciliter la conception d applications. Encapsulation : vise à regrouper les données et les opérations pouvant y accéder. L interface (l ensemble des opérations) contrôle les accès aux données. Cohésion / Couplage : vise à guider la façon de réaliser la modularité, l abstraction et l encapsulation afin d améliorer les caractéristiques (réutilisabilité, etc.) d un module.

3 3 Constitution d un programme Java Un programme Java utilise un ensemble de classes Les classes sont regroupées dans un ou plusieurs packages Une classe regroupe un ensemble d attributs et de méthodes Package Classe Attributs Méthodes

4 4 Classe Une classe existe au moment de la compilation. Une classe est un type dans un langage OO. Une classe définit une implémentation. Implémentation = méthodes + attributs + états possibles Plusieurs catégories de méthodes constituent une classe : constructeurs, accesseurs, mutateurs et destructeur.

5 5 Classe Hello package mesexemples; class Hello { public static void main (String argv[]) { Hello hello = new Hello(); // Instantiation hello.sayhello(); public void SayHello() { System.out.println("Hello Java World!!! ");

6 6 Objet Une variable d un type classe est une référence vers un objet. Un objet existe au moment de l exécution. Un objet est créé (instancié) lorsque le constructeur d une classe est exécuté. Un objet a une identité et un type fixes. Un objet a un état variable.

7 Classe et objets 7 Les deux instances (objets) sont définies par une taille, un nombre et des types d attributs et un ensemble de méthodes identiques. Par contre, les objets n ont pas le même état. Voiture couleur : Couleur=Color.Black vitessemax : float = 150 demarrer() arreter() accelerer(acc : float) Freiner(acc : float) Instance de Instance de Bmw :Voiture couleur=rouge vitessemax=230 Twingo : Voiture couleur=jaune vitessemax=140

8 8 Attribut Un attribut est déclaré par sa visibilité, son type et son nom. Un attribut n est pas accessible publiquement par défaut mais ils existent des modificateurs d accès : public, private, protected. Lors de la création d un objet, les attributs sont initialisés par défaut (0, 0.0, null, false). Les attributs peuvent être initialisés lors de la définition ou dans le constructeur. La valeur d un attribut déclaré comme «static» est partagée par toutes les instances (objets) de la classe.

9 9 Méthode Une méthode est déclarée par sa signature. Signature = nom + paramètres (type et ordre). Une signature est unique dans une classe. Le principe de surcharge permet à deux méthodes d avoir le même nom à l intérieur d une classe. Une méthode est accessible publiquement par défaut mais ils existent des modificateurs d accès : public, private, protected.

10 Surcharge (1/3) 10 Une méthode surchargée a le même nom que d autres méthodes de la même classe Exemple void print () { void print (int i) { int print (float f) { Le type du paramètre de retour n est pas pris en compte par le mécanisme de résolution de surcharge

11 11 Surcharge (2/3) A l appel, Java détermine quelle est la méthode dont la liste des paramètres formels correspond le mieux aux paramètres effectivement donnés par l appelant Si aucune signature de méthode ne correspond au valeurs envoyées, la machine virtuelle Java est capable de convertir une valeur envoyée dans le type du paramètre formel Java détermine le coût des conversions possibles et choisit le coût le moins élevé. Si le coût global de conversion dépasse 10, Java refuse l appel

12 12 Surcharge (3/3) vers Coût des conversions de byte short char int long float double byte Short Char Int Long Float double

13 13 Constructeur Il porte le même nom que la classe. Appeler le constructeur (new) permet de créer une instance (objet) et initialiser ses attributs. Réserve l espace mémoire pour un objet (requête au GC) ; Initialise les variables ; Retourne une référence à l objet de la classe (mais le type de retour est void). Si aucun constructeur n est écrit, celui par défaut ne fait rien et les attributs sont initialisés avec leur valeur par défaut. S il y a un constructeur écrit, celui par défaut n existe plus et il faut donc l écrire explicitement au besoin.

14 14 Exemple de constructeurs class Date { int _jour; int _mois; int _an; Date() { _an = 1999; Date (int jour, int mois, int an) { _jour = jour; _mois = mois; _an = an;... Date d = new Date(10,12,2000); // instantiation de l objet

15 15 Création d objets class Voiture { // Définition de la classe String _type; Voiture (String type) { _type = type; void demarrer () { System.out.print( this._type );... Voiture mavoiture = new Voiture("Aveo"); // Création de l objet Voiture unevoiture = mavoiture; // Deuxième référence sur l objet unevoiture.demarrer();

16 16 L accesseur «this» C est une référence gérée par Java. C est un paramètre implicite pour toute méthode non static. C est une référence à l objet sur lequel la méthode a été appelée.

17 17 «this» «this» = référence sur l objet courant class Compte { void crediter(float montant) { ; void debit(float montant) { ; class Versement { void valider() { void effectuer(compte s, Compte d, float montant) { s.debiter(montant); d.crediter(montant); this.valider();

18 18 «this» Soit : public class UneClasse int x; public void methode1(){ this.x = 5;... objet 1 x 5 objet2 X 5 UneClasse objet1 = new UneClasse(); UneClasse objet2 = new UneClasse(); objet1.methode1(); //this == objet1 dans methode1() objet2.methode1(); //this == objet2 dans methode1()

19 19 «this» dans le constructeur class Personne { String _nom ; String _prenom; float _taille; Personne(String nom, String prenom) { _nom = nom; _prenom = prenom; Personne(String nom, String prenom, float taille) { this(nom, prenom); _taille = taille;

20 20 Le Garbage Collector (GC) Il prend en charge la gestion de la mémoire Il alloue l espace mémoire lors de la création des objets Il libère la mémoire occupé par un objet dès que celui-ci n est plus référencé par l application Il est capable de compacter la mémoire pour éviter la fragmentation System.gc(); permet d appeler le Garbage Collector en Java.

21 21 «null» La valeur «null» peut être assignée à n importe quelle référence sur un objet Une méthode peut retourner «null» L appel d une méthode sur une référence d objet valant «null» provoque une erreur d exécution (NullPointerException) On peut tester une référence pour savoir si elle vaut «null» Personne moi = new Personne(); if (moi!= null) { System.out.println("J existe toujours! ");

22 Objet non référencé 22 Cercle c1, c2; // null par défaut c1 = new Cercle(2.0, 3.0, 4.0); c2 = c1; c2.r = c2.r 1; c1 = new Cercle(2.0); c1.x = 2.0; c2 = c1; System.gc(); x: 2.0 y: c1 c2 c1 c2 c1 c2 c1 r: 3.0 c1 7 c2 8 c2 x: 2.0 y: 0.0 r: x: 2.0 y: 3.0 r: 4.0 null null 1 c1 c2 x: 2.0 y: 3.0 r: 4.0 c1 x: 2.0 y: 3.0 r: 3.0 x: 0.0 y: 0.0 r: 2.0 x: 2.0 y: 0.0 r: 2.0 c2 c1 c2 4 6 null x: 2.0 y: 3.0 r: 3.0 null x: 2.0 y: 3.0 r: 3.0 x: 2.0 y: 0.0 r: 2.0

23 23 Accesseur Une méthode accesseur permet d obtenir le contenu des attributs d une classe. Il commence souvent par «get». Il n a habituellement pas de paramètres. Il sert à retourner le contenu d un attribut privé. Si une classe n a que des accesseurs, on dit qu elle est immuable.

24 24 Mutateur Une méthode accesseur permet de modifier le contenu des attributs d une classe. Il commence souvent par «set». Il a habituellement au moins un paramètre. Il ne retourne habituellement rien. Si une classe a des mutateur, on dit qu elle est mutable.

25 25 Destructeur Il est implémenté par la méthode Finalize(). Cette méthode permet, lorsqu un objet n est plus accessible, de remettre au système les ressources utilisées par cet objet. Cette méthode est appelée automatiquement lorsque la dernière référence à une instance n y fait plus référence. Nous n en utiliserons pas dans ce cours.

26 26 La méthode «finalize» import java.util.*; class Point { protected void finalize() {System.out.println("Appel au Destructeur"); ; public class Exemple { public static void main (String []arg) { Point a ; Scanner clavier = new Scanner(System.in); System.out.println("Création de a"); a= new Point(1,2); // Création du point 1,2, constructeur 1 System.out.println("Fin creation de a"); a=null; clavier.nextline(); System.gc(); // Destruction du point a System.out.println("Creation de b"); Point b = new Point(); // Création du point 0,0 constructeur 2

27 27 Opérateurs sur les références Egalité de deux références : == Compare si 2 références pointent vers le même objet Différence de deux références :!= Compare si 2 références pointent vers des objets différents Type d instance de la référence : instanceof Permet de savoir si l objet référencé est une instance d une classe donnée ou d une de ses sous-classes Personne moi = new Personne(); if (moi instanceof Personne) { System.out.println("Je suis bien une personne! ");

28 28 Le modificateur «static» La valeur d un membre public définie comme étant static existe pour tous les objets d une même classe. Un attribut static n est pas initialisé lors de l instanciation d un objet mais une seule fois au début d un programme. S il y a une modification sur un attribut static, tous les objets de la classe en verront les effets. Une méthode static ne peut utiliser que des membres static. On utilise le nom de la classe pour accéder a un membre static.

29 29 Exemple de méthode «static» class MathUtil { final static double _PI = 3.14 ; static double PI() { return _PI; static double Carre(double x) { return x * x; static double Demi(double x) { return x / 2; double i = MathUtil.Carre(5); double x = MathUtil.PI();

30 30 Les packages : définition (1/2) Un package est une bibliothèque de classes On regroupe les classes d un même domaine dans un package Les packages sont organisés hiérarchiquement La notion de package apporte un niveau d encapsulation supplémentaire

31 31 Les packages : définition (2/2) Les classes du JDK sont classées dans des packages java lang util awt net String.class Thread.class Date.class Vector.class event Button.class List.class Socket.class URL.class Java importe automatiquement le package «java.lang» qui contient des classes comme «Thread» ou «System»

32 32 Les packages : utilisation (1/2) Il y a 2 manières d utiliser une classe stockée dans un package : Utilisation du nom complet java.util.date datedujour = new java.util.date(); System.out.println(dateDujour); Importer une classe ou toutes les classes du package import java.util.date; Date datedujour = new Date(); System.out.println(dateDujour); import java.util.*; Date datedujour = new Date(); System.out.println(dateDujour);

33 33 Les packages : utilisation (2/2) Le mot-clé «package» permet de définir un nouveau package La hiérarchie des packages correspond à la hiérarchie des répertoires //fichier Compte.java dans le répertoire Finance package finance; public class Compte { //Fichier Client.java dans le répertoire de l application import finance.*; public class Client { Compte c = new Compte();

34 34 Les paquetages de Java

35 35 La variable CLASSPATH Le compilateur utilise la variable d environnement CLASSPATH pour localiser les classes d un package sur le disque Cette variable doit référencer tous les répertoires ou fichiers dans lesquels sont susceptibles de se trouver des classes Java On a le droit de placer les classes dans des archives (zip, jar, cab) Dans ce cas, la variable CLASSPATH doit référencer le fichier La hiérarchie des classes des packages doit être respectée

36 36 Privilèges d accès (visibilité) Soit un membre m déclaré dans une class A visibilité classe A accès au membre m à partir de classe B B et A même package B et A package différent B n'est pas B n'est pas B sousclasse sous-classe B sous- sous-classe de A de A classe de A de A private O N N N N protected O O N O N public O O O O O package O O O N N

37 37 Règles de visibilité L encapsulation consiste à déclarer les attributs «private». On déclare alors des méthodes «public» (accesseurs/mutateurs) permettant de lire et/ou de modifier les attributs Si un accesseur retourne une référence sur un objet, rien n empêche la modification de cet objet à travers cette référence cela brise l encapsulation class Personne { private Vector children = new Vector(); public Vector getchildren() { return children; Personne moi = new Personnes(); Vector v = moi.getchildren(); v.addelement(new Personne("Paul"); Rupture de l encapsulation

38 38 La classe «Object» Classe mère de toutes les classes Permet d utiliser les classes conteneurs et le polymorphisme La méthode «tostring()» retourne une description de l objet La méthode «equals(object)» teste l égalité sémantique de deux objets Le méthode «getclass()» retourne le descripteur de classe. Il permet de : connaître la classe d un objet connaître le nom de la classe, ses ancêtres découvrir la structure des objets (JDK 1.1)

39 Les classes «Wrapper» 39 Les types de base Java ne sont pas des objets Il est parfois indispensable de les manipuler comme des objets Les classes Wrapper représentent un type de base Récupérer les valeurs min et max Créer une instance à partir d un type de base ou d une chaîne Conversions entre types de base et chaînes Conversions entre chaînes et types de base Utiliser des types de base dans des conteneurs Boolean, Integer, Float, Double, Long, Character Attention : ne supporte pas d opérateurs (+, -, ) Elles sont dans le package java.lang

40 40 «Wrapper» vs «types de base» Avantages des type de bases : Plus léger en mémoire Supporte un certain nombre d opérateurs Autorise certaines conversions automatiques de types Avantages des Wrappers : Est passé par référence Dispose de méthodes de conversions statiques vers les autres types Peut être géré par les objets container

41 41 Exemples Convertir une chaîne en entier : static int convertir(string s) { try { return Integer.parseInt(s); catch(exception e) { return 0; Convertir un entier en chaîne : static String convertir(int i) { Interger j = new Integer(i); return j.tostring();

42 42 La classe java.lang.string Contient une chaîne de caractères Classe connue par le compilateur Java Une chaîne constante sera convertie en objet de la classe String String msg = Hello Java World! Un objet de la classe String ne peut pas être modifié Ne brise pas l encapsulation class Personne { String nom; public String getnom() { return nom;

43 43 String : concaténation int area = 33; int prefixe = 1; int suffixe = ; // Chaque concaténation crée un nouvel objet // l ancien est détruit par le Garbage Collector String numtel = "(" + area + ")"; // (33) numtel += prefixe // (33)1 numtel += "-" // (33)1- numtel += suffixe // (33) // Un seul objet est créé numtel = "(" + area + ")" + prefixe + "-" + suffixe // Conversion d un entier en chaîne String un = 1 + "";

44 String : manipulation 44 length() : cette méthode permet de connaître le nombre de caractères d une chaîne Ex : for (int i = 0; i < montexte.length(); i++) {... indexof(char c, int i) : retourne la position du caractère c à partir de la position i if (montexte.indexof( $, 5) <> -1 ) {... substring(int i, int j) : extrait de la chaîne les caractères de la position i à la position j String nouveaumot = ancienmot.substring(2,5); equals() : retourne un booléan signifiant si les deux chaînes sont identiques Ex : if ( mot1.equals(mot2)) {...

45 45 La classe java.lang.stringbuffer C est une chaîne de caractères modifiable et de taille variable Son utilisation est moins simple que «String» pas d utilisation possible de l opérateur + append(p) : ajoute p en fin de la chaîne courante p peut être de n importe quel type de base length() : retourne la longueur de la chaîne setlength() : change la longueur de la chaîne Si elle est étendue, les nouveaux caractères sont initialisés à 0

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

Développé par SunSoft pour réaliser le développement de systèmes embarqués. Évolution gérée par JavaSOFT (SunSoft)

Développé par SunSoft pour réaliser le développement de systèmes embarqués. Évolution gérée par JavaSOFT (SunSoft) Le langage JAVA Sommaire Introduction à Java La syntaxe Les concepts Objet Classes, méthodes, attributs Héritage, polymorphisme, encapsulation Les interfaces Les classes de base Les exceptions Les entrées-sorties

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

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

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

É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

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

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

Plus en détail

Programmation non structurée

Programmation non structurée Java et POO Programmation non structurée Construire(Maison m){ creuser; commander(béton) couler les fouilles; commander les parpaings; while(!fini(sous-sol)){poser parpaings; commander(ourdis); while(.

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

ENSTA IN204 Introduction à JAVA

ENSTA IN204 Introduction à JAVA Ecole Nationale Supérieure de Techniques Avancées (ENSTA) -http://www.ensta.fr ENSTA IN204 Introduction à JAVA Olivier Sigaud LIP6/AnimatLab olivier.sigaud@lip6.fr 01.44.27.88.53 Ce document est mis à

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Programmation Orientée Objet Initiation à Java Saber HENI saber.heni02@univ-paris8.fr http://handiman.univ-paris8.fr/~saber/ Plan du cours Chapitre 1 : Introduction au langage Java Chapitre 2 : Classes

Plus en détail

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

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

Plus en détail

Université Mohammed Premier Année universitaire 2012-2013

Université Mohammed Premier Année universitaire 2012-2013 Université Mohammed Premier Année universitaire 2012-2013 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Responsable du cours : El Mostafa

Plus en détail

Java : Programmation Impérative

Java : Programmation Impérative 1 Java : Programmation Impérative Résumé du cours précédent (I11) Paradigme impératif Algorithmique simple Découpage fonctionnel Qu est-ce qu un programme informatique? / un langage de programmation? /

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

Programmation objet en Java.

Programmation objet en Java. Programmation objet en Java. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/7/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/7/ Cours Exercices Slide 1 1. Classes,

Plus en détail

ENSTA : cours IN204 Introduction à JAVA

ENSTA : cours IN204 Introduction à JAVA Ecole Nationale Supérieure de Techniques Avancées (ENSTA) -http://www.ensta.fr ENSTA : cours IN204 Introduction à JAVA Olivier Sigaud LIP6/AnimatLab olivier.sigaud@lip6.fr 01.44.27.88.53 Page : 1 Plan

Plus en détail

Déclaration et Implémentation d'une classe

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

Plus en détail

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

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

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

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

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

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

Programmation PHP Septembre 2010

Programmation PHP Septembre 2010 IFT1147 Programmation Serveur Web avec PHP Plan La POO en PHP Lecture du chapitre 20. Programmation par objets Introduction à la POO Objets et classes Propriétés Méthodes Private Héritage Polymorphisme

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

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

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 82

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 82 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 82 Chapitre 5 Programmation orientée objet Amélie Lambert 2014-2015 2 / 82 Plan du cours Analyse, conception et programmation Orientée

Plus en détail

PROB Introduction au langage JAVA

PROB Introduction au langage JAVA PROB Introduction au langage JAVA EPFC ULB 1 BACHELIER en INFORMATIQUE de Gestion PRMT(1) 120p. LAPR(2) 120p. PR(1) PROB(10) 120p. PR(1) PRDV(4) 40p. PR(2 ou 9) COFI(20) 60p. GBDR(5) 120p. LAOG(9) 120p.

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

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

TP Interface graphique et C++ numéro 1

TP Interface graphique et C++ numéro 1 TP Interface graphique et C++ numéro 1 Master IGC - 1 re année année 2010-2011 Ce premier TP a pour objectif de vous familiariser avec le compilateur C++, les entréessorties du langage et l utilisation

Plus en détail

Programmation orientée objet

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

Plus en détail

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

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

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

Plus en détail

Cours SI6. Python POO par l exemple

Cours SI6. Python POO par l exemple Cours SI6 Python POO par l exemple Objet créé à partir d un moule Moule -> une classe Objet = instance d une classe Classe= Structure -> attributs Comportement -> méthodes Principe de base : Instanciation

Plus en détail

Analyse lexicale 2014-2015

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

Plus en détail

2. lancer (throw) une exception consiste à la signaler

2. lancer (throw) une exception consiste à la signaler Cours 7 Exceptions 1 1. Une exception est un signal qui indique que quelque chose d'exceptionnel (par exemple une erreur) s est produite qui interrompt le flot d exécution normal du programme 2. lancer

Plus en détail

Notions de programmation orientée objet

Notions de programmation orientée objet 1 Génie Logiciel Notions de programmation orientée objet Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 19/04/2007 2 Les données d'abord (1) Important résultat de l'expérience : Le plus souvent,

Plus en détail

GL / C++ Chapitre 7. Lien Dynamique Méthodes Virtuelles

GL / C++ Chapitre 7. Lien Dynamique Méthodes Virtuelles GL / C++ Chapitre 7 Lien Dynamique Méthodes Virtuelles 1. Pointeur sur un objet d'une classe dérivée Considérons les classes écrites précédemment : Personne Etudiant // dérive de personne Salarie // dérive

Plus en détail

Cours 3 : Encapsulation et tests

Cours 3 : Encapsulation et tests DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.fr Cours 3 : Encapsulation et tests Plan Divers Paquetages : intérêt, utilisation des packages existants, créer un package Encapsulation

Plus en détail

Programmation Objet. Cours 1

Programmation Objet. Cours 1 Programmation Objet. Cours 1 Marie-Pierre Béal UPEM DUT 1 Programmation objet. Classes et objets. Principaux styles de programmation Style impératif Fondé sur l exécution d instructions modifiant l état

Plus en détail

Module B9-1 : sensibilisation à l UML

Module B9-1 : sensibilisation à l UML Module B9-1 : sensibilisation à l UML Olivier Habart : habart.olivier@gmail.com ENSTA B9-1 UML (Olivier Habart) Septembre 14 Diapositive N 1 Session 2 : Vue statique Sommaire Diagramme de classes Diagrammes

Plus en détail

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

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

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

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

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

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

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

Plus en détail

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

Catégories, extensions et sécurité

Catégories, extensions et sécurité 11 Catégories, extensions et sécurité Au sommaire de ce chapitre Catégories Extensions Contrôle des accès aux variables d instance Contrôle des accès aux méthodes Espaces de noms Sécurité Appeler des fonctions

Plus en détail

Chapitre 1 Introduction

Chapitre 1 Introduction Chapitre 1 Introduction Jean Privat Université du Québec à Montréal INF7330 Construction de logiciels Diplôme d études supérieures spécialisées en systèmes embarqués Automne 2012 Jean Privat (UQAM) 01

Plus en détail

Nfp121 Programmation Avancée. L évolution de Java conséquences sur le cours. Java 2

Nfp121 Programmation Avancée. L évolution de Java conséquences sur le cours. Java 2 Nfp121 Programmation Avancée Des Cours, des Exercices dirigés, des devoirs hebdomadaires Cours 1h30 + 0h30 Présentation devoirs Eds 1h30 centrés sur la réponse aux devoirs et compléments L évolution de

Plus en détail

La définition de la classe Test est incomplète, pour définir une classe, il faut mettre deux accolades qui contiennent la définition de

La définition de la classe Test est incomplète, pour définir une classe, il faut mettre deux accolades qui contiennent la définition de Ex 1 1- On crée un fichier Test.java qui contient seulement : public class Test Que se passe t'il si on cherche à le compiler? La définition de la classe Test est incomplète, pour définir une classe, il

Plus en détail

Exceptions. Qu est ce qu un cas exceptionnel? Principe : détecter le maximum d erreurs à la compilation, mais... pas toujours possible

Exceptions. Qu est ce qu un cas exceptionnel? Principe : détecter le maximum d erreurs à la compilation, mais... pas toujours possible Programmation Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille Principe : détecter le maximum d erreurs à la compilation, mais pas toujours possible Gestion des erreurs

Plus en détail

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions.

Exceptions. Fiabilité d un logiciel. Fiabilité en Java. Erreurs/exceptions. Localisation du traitement des erreurs/exceptions. Fiabilité d un logiciel Exceptions Université Française d Egypte Version O 5.7 5/10/15 Richard Grin Robustesse : fonctionne correctement, même en présence d événements exceptionnels Correction : donne

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

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

LIAISON DYNAMIQUE (1)

LIAISON DYNAMIQUE (1) LIAISON DYNAMIQUE (1) Problème : avec un pointeur de base (Employe *), on aurait besoin que la «bonne» méthode soit exécutée, en fonction du type dynamique de l objet pointé. Comment savoir quel est le

Plus en détail

Tableaux. Tableaux en Java (introduction)

Tableaux. Tableaux en Java (introduction) en Java (introduction) Avertissement : ce cours ne présente qu une version «édulcorée» des tableaux. Ne sont abordés que les tableaux de types primitifs et tous les aspects «objets» sont masqués. Philippe

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

Introduction à la Programmation Orientée Objet

Introduction à la Programmation Orientée Objet Introduction à la Programmation Orientée Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 4 avril 2013 Bertrand Estellon (DII AMU) Introduction à la Programmation

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

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

INF421-a Bases de la programmation et de l algorithmique. (Bloc 1 / 9) Philippe Baptiste. CNRS LIX, École Polytechnique

INF421-a Bases de la programmation et de l algorithmique. (Bloc 1 / 9) Philippe Baptiste. CNRS LIX, École Polytechnique INF421-a Bases de la programmation et de l algorithmique (Bloc 1 / 9) Philippe Baptiste 26 août Philippe Baptiste: INF421-a, Bloc 1, 1/ 54 Organisation du cours 9 blocs, soit 9 vendredis : Amphi de 10h30

Plus en détail

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

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

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 16 septembre 2015 1 2015 v1.12 Table des matières 1 Généralités 6 1.1 Notations utilisées.....................................

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

Arité variable, énumérations. Arité variable. Arité des méthodes. Utilisation de la surcharge

Arité variable, énumérations. Arité variable. Arité des méthodes. Utilisation de la surcharge Arité variable, énumérations Théorie et pratique de la programmation Michel Schinz 2013-05-13 Arité variable 1 2 Arité des méthodes Utilisation de la surcharge Il est parfois utile d'offrir des méthodes

Plus en détail

Pour cet examen, vous disposez de la classe Voiture, incomplète, qui suit :

Pour cet examen, vous disposez de la classe Voiture, incomplète, qui suit : UNIVERSITÉ DE MONTRÉAL FACULTÉ DES ARTS ET DES SCIENCES DIRECTION DE L ENSEIGNEMENT DE SERVICE EN INFORMATIQUE COURS : IFT 1170 EXAMEN INTRA DATE : 4 juin 2009 CHARGÉ DE COURS : Michel Reid DURÉE : 2 heures

Plus en détail

Introduction à la Programmation 1

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

Plus en détail

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

LO43 : Bases fondamentales de la programmation orientée objet

LO43 : Bases fondamentales de la programmation orientée objet LO43 : Bases fondamentales de la programmation orientée objet Langage C++ Franck GECHTER franck.gechter@utbm.fr Template La Conception Orientée Objet, Liaison Statique et Liaison Dynamique Template La

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

Nfp121 Programmation Avancée

Nfp121 Programmation Avancée Nfp121 Programmation Avancée Des Cours, des Exercices dirigés, des devoirs hebdomadaires Cours 1h30 + 0h30 Présentation devoirs Eds 1h30 centrés sur la réponse aux devoirs et compléments L évolution de

Plus en détail

PROCEDURE (v: Véhicule) Coût* (nbpass: INTEGER; dist: REAL): REAL, NEW, ABSTRACT;

PROCEDURE (v: Véhicule) Coût* (nbpass: INTEGER; dist: REAL): REAL, NEW, ABSTRACT; MODULE TransportsAbstrait; TYPE Véhicule = POINTER TO ABSTRACT RECORD prix: REAL; nbpassmax: INTEGER ChoseTransportée =POINTER TO ABSTRACT RECORD poids: REAL; ident: ARRAY 81 OF CHAR PROCEDURE (v: Véhicule)

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

Le langage C# Eléments de base Structures de contrôle Classes & objets Héritage, polymorphisme & interfaces Exceptions Autres éléments de C#

Le langage C# Eléments de base Structures de contrôle Classes & objets Héritage, polymorphisme & interfaces Exceptions Autres éléments de C# Le langage C# Eléments de base Structures de contrôle Classes & objets Héritage, polymorphisme & interfaces Exceptions Autres éléments de C# 1 Eléments de base 1-1 Les espaces de noms Une classe peut être

Plus en détail

1 La notion de package 1. 2 Les chaînes de caractères 2. 3 Retour vers les objets 4

1 La notion de package 1. 2 Les chaînes de caractères 2. 3 Retour vers les objets 4 Plan du cours Table des matières 1 La notion de package 1 2 Les chaînes de caractères 2 3 Retour vers les objets 4 4 Les interfaces 6 1 La notion de package Organisation générale d un projet Java Pour

Plus en détail

Programmation Orientée Objet Java

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

Plus en détail

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

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

Plus en détail

Dans ce chapitre nous présentons comment développer les classes et créer les objets.

Dans ce chapitre nous présentons comment développer les classes et créer les objets. Chapitre 2 La programmation orientée objet est une technique très puissante permettant d exploiter d énormes ressources stockées sous forme de classes et accessibles librement sur Internet. L appellation

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

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

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

Plus en détail

Procédures et fonctions

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

Plus en détail

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

Sérialisation sur le système de fichiers. Gestion des exceptions en Java.

Sérialisation sur le système de fichiers. Gestion des exceptions en Java. Sérialisation sur le système de fichiers. Gestion des exceptions en Java. Christophe Gravier, Frédérique Laforest, Julien Subercaze Télécom Saint-Étienne Université Jean Monnet {pnom.nom}@univ-st-etienne.fr

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

Grandes lignes du cours. Cours JAVA : Le polymorphisme en Java. Outline. Outline. Rappel principes de la POO. Un nouveau principe POO : Héritage

Grandes lignes du cours. Cours JAVA : Le polymorphisme en Java. Outline. Outline. Rappel principes de la POO. Un nouveau principe POO : Héritage Grandes lignes du cours Cours JAVA : Le polymorphisme en Java. Version 4.01 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle

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

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

Cours 8 : Exceptions, un peu de graphique

Cours 8 : Exceptions, un peu de graphique 1 Cours 8 : Exceptions, un peu de graphique 1. Traiter les exceptions usuelles 2. Créer ses propres exceptions 3. Exemples: les files. 4. Quelques éléments sur les graphiques 2 Exceptions Une exception

Plus en détail

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

Université de Bourgogne - UFR Sciences et Technique - Programmation objet - LPSIL - 2013 Nom : Prénom : Contrôle continu n 4 Programmation objet Vous devez répondre dans les cadres aux questions posées. Documents de cours et notes personnelles autorisés. Téléphones portables, ordinateurs et

Plus en détail

renforcer le contrôle de type :

renforcer le contrôle de type : renforcer le contrôle de type : définitions, prototypes de fonctions surcharge références conversions de void * préférer le compilateur au préprocesseur considérer les entrées/sorties opérations abstraites

Plus en détail

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes ISMIN 1A Programmation 1 : Examen de programmation C Réponses Partie 1. Questions ouvertes 1. Soit la déclaration suivante, char tab[] = "". Que contient le tableau tab? Réponse : tab[0] = \0. tab est

Plus en détail

Bases de la programmation orientée objet en Java

Bases de la programmation orientée objet en Java Bases de la programmation orientée objet en Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-33 Avant propos Difficultés...

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

E2I- 4 (option HF) CONTRÔLE JAVA 1

E2I- 4 (option HF) CONTRÔLE JAVA 1 E2I- 4 (option HF) CONTRÔLE JAVA 1 Corrigé 1. Les données de type char sont codées en java comme : un octet (code ASCII) deux octets (code ASCII) un octet (code unicode) X deux octets (code unicode) un

Plus en détail

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