Programmation Orientée Objet

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Programmation Orientée Objet"

Transcription

1 Programmation Orientée Objet Initiation à Java Saber HENI

2 Plan du cours Chapitre 1 : Introduction au langage Java Chapitre 2 : Classes et objets Chapitre 3 : Concepts de base de l OO Chapitre 4 : La gestion des exceptions Chapitre 5 : Les classes de base dans Java Chapitre 6 : Les collections 2

3 Chapitre 2 Classes et objets

4 Les méthodes Le principal avantage des méthodes est de pouvoir factoriser le code. Java offre une panoplie de méthodes prédéfinies (natives) organisés dans des classes. Mais. Vous pouvez aussi créer vos propre méthodes. 4

5 Méthodes natives - 1 Exemple de méthodes concernant les chaînes de caractères. La méthode tolowercase() permet de transformer tout caractère alphabétique en son équivalent minuscule. public String tolowercase () { la méthode touppercase() est simple. Elle transforme donc une chaîne de caractères en capitales. public String touppercase () { La méthode length() renvoie la longueur d'une chaîne de caractères (en comptant les espaces). public int length () { La méthode equals() permet de vérifier (donc de tester) si deux chaînes de caractères sont identiques. public boolean equals (String s) { 5

6 Méthodes natives - 2 Le résultat de la méthode charat() sera un caractère : il s'agit d'une méthode d'extraction de caractère. Le premier caractère est d indice 0 et elle prend en argument des entiers. public char charat (int pos) { La méthode substring() extrait une partie d'une chaîne de caractères. public String substring (int debut) { public String substring (int debut, int fin) { String chaine = new String("Master handi 2014"); String chaine2 = chaine.substring(7, 12); //Permet d'extraire "handi" String chaine3 = chaine.substring(7); //Permet d'extraire "handi 2014" 6

7 Méthodes natives - 3 La méthode indexof() explore une chaîne de caractères à la recherche d'une suite donnée de caractères. renvoie la position (ou l'index) de la sous-chaîne passée en argument. la méthode indexof() explore à partir du début de la chaîne lastindexof() explore en partant de la fin, mais renvoie l'index à partir du début de la chaîne. public int indexof (String souschaine) { public int lastindexof (String souschaine) { 7

8 Méthodes natives - 4 String mot = new String("anticonstitutionnellement"); int n = 0; n = mot.indexof('t'); //n vaut 2 n = mot.lastindexof('t'); //n vaut 24 n = mot.indexof("ti"); //n vaut 2 n = mot.lastindexof("ti"); //n vaut 12 n = mot.indexof('x'); //n vaut -1 8

9 Méthodes natives - 5 Exemple de méthodes de la classe Math. double X = 0.0; X = Math.random(); //Retourne un nombre aléatoire //compris entre 0 et 1, comme double sin = Math.sin(120); //La fonction sinus double cos = Math.cos(120); //La fonction cosinus double tan = Math.tan(120); //La fonction tangente double abs = Math.abs( ); //La fonction valeur absolue (retourne le nombre sans le signe) double d = 2; double exp = Math.pow(d, 2); //La fonction exposant //Ici, on initialise la variable exp avec la valeur de d élevée //au carré //La méthode pow() prend donc une valeur en premier paramètre, //et un exposant en second 9

10 Créer une méthode - 1 Exemple de méthodes que vous pouvez créer. public static double arrondi (double a, int b) { return (double) ( (int) (a * Math.pow(10, b) + 0.5)) / Math.pow(10, b); Tout d'abord, il y a le mot clé public. C'est ce qui définit la portée de la méthode Ensuite, il y a static. Juste après, nous voyons double. Il s'agit du type de retour de la méthode. Pour faire simple, ici, notre méthode va renvoyer un double. Vient ensuite le nom de la méthode arrondi. C'est avec ce nom que nous l'appellerons. 10

11 Créer une méthode - 2 Puis arrivent les arguments de la méthode double a et int b. Ce sont en fait les paramètres dont la méthode a besoin pour travailler. Ici, nous demandons d'arrondir le double «a» avec «b» chiffres derrière la virgule. Finalement, vous pouvez voir une instruction return à l'intérieur de la méthode. C'est elle qui effectue le renvoi de la valeur, ici un double. Si vous placez une de vos méthodes à l'intérieur de la méthode main ou à l'extérieur de votre classe, le programme ne compilera pas. 11

12 Créer une méthode - 3 Les méthodes ne sont pas limitées en nombre de paramètres; Il en existe trois grands types : les méthodes qui ne renvoient rien. Les méthodes de ce type n'ont pas d'instruction return, et elles sont de type void ; les méthodes qui retournent des types primitifs (double, int etc.). Elles sont de type double, int, char etc. Celles-ci possèdent une instruction return ; les méthodes qui retournent des objets. Par exemple, une méthode qui retourne un objet de type String. Celles-ci aussi comportent une instruction return. 12

13 Créer une méthode - 4 Exercice Nous allons reprendre l exercice de la moyenne olympique du TD 1. On vous demande de factoriser le code en le répartissant sur 5 méthodes : La première permet la conversion et le remplissage du tableau Une deuxième méthode permettant le tri du tableau. La troisième méthode qui fait juste la permutation de deux variables. Une quatrième méthode qui fait le calcul de la moyenne olympique. La dernière permet l affichages des résultats. Dans la méthode main vous faites seulement la déclaration du tableau et l appel des quatre méthodes. 13

14 La surcharge des méthodes - 1 En Java il possible de déclarer deux ou plusieurs méthodes avec le même nom à condition que : Les types et/ou le nombre de paramètres soient différents. Est-il possible de déclarer deux méthode de même nom et de même nombre et types de paramètres mais de type de retour différent? La réponse est non. Le compilateur ne tient en compte, pour différencier quelle méthodes est appelée, que du type et du nombre d arguments passés entre les parenthèses. 14

15 La surcharge des méthodes - 2 Exemple : public void draw(string s) {... public void draw(int i) {... public void draw(double f) {... public void draw(int i, double f) {... 15

16 Les objets en java - 1 L'idée de base de la programmation orientée objet est de rassembler dans une même entité appelée objet les données et les traitements qui s'y appliquent. Comment créer un objet? Il faut définir la structure de l objet. 16

17 Les objets en java - 2 Un objet ou instance est une variable presque comme les autres. Il faut notamment qu il soit déclaré avec son type. Le type d un objet est un type complexe (par opposition aux types primitifs entier, caractère, ) qu on appelle une classe. 17

18 Les classes en java - 1 Une classe regroupe : Un ensemble de données dites attributs ou encore variables d instance (qui peuvent être des variables primitives ou des objets) Un ensemble de traitements de ces données et/ou de données extérieures à la classe, dites méthodes. Une classe sert généralement à créer des objets On dit : Instancier la classe. 18

19 Les classes en java - 2 Les objets contiennent des attributs (variables d instance) et des méthodes. Les attributs sont des variables ou des objets nécessaires au fonctionnement de l'objet. La classe est la description d'un objet. Un objet est une instance d'une classe. Pour chaque instance d'une classe, le code est le même, seules les données sont différentes à chaque objet. 19

20 Les classe en java - 3 Exemple public class Rectangle { private int longueur ; private int largeur ; private int originex ; private int originey ; public void déplacer (int x, int y) { originex += x ; originey += y ; public int surface () { return this.longueur * this.largeur ; 20

21 Les modificateurs de visibilité des classes - 1 Une classe peut être marqué Public ou default. public : Une classe publique est visible dans tout l univers de Java default : Par défaut, une classe est non-publique : elle n est accessible que depuis les classes du même paquetage. Si vous ne mettez aucun modificateur de visibilité devant la déclaration d une classe, vous aurez une visibilité niveau paquetage. 21

22 Les paquetages Les classes Java sont regroupées en paquetages (packages en anglais) Ils correspondent aux «bibliothèques» des autres langages Les paquetages offrent un niveau de modularité supplémentaire pour : réunir des classes suivant un centre d intérêt commun la protection des attributs et des méthodes. 22

23 La visibilité des membres d une classe - 1 Les modificateurs de visibilité agissent comme le montre le tableau suivant lorsqu ils sont appliqué sur une classe ou l un de ses membres. 23

24 La visibilité des membres d une classe - 2 Ci-dessous un tableau récapitulant la porté (Visibilité) d un membre d une classe marqué à chaque fois par l un des quatre modificateurs de visibilité : Chapitre 3 24

25 La visibilité des membres d une classe - 3 Encapsulation : Tout ce qui participe à l implémentation des services doit être privé (afin de permettre la modification de l implémentation des services sans risquer d impacter les autres classes). Protéger les données Ne permettre l accès à ces donner qu à travers les méthodes. En d autres termes, toutes les variables d instance (attributs) d une classe doivent être déclarés private. 25

26 Les constructeurs - 1 Reprenons l exemple du rectangle. Comment peut-on appeler la méthode surface? 1. Rectangle rectangle1; 2. rectangle1 = new Rectangle (); 3. int surface1 = rectangle1.surface(); 4. System.out.println(surface1); Donc, Il faut instancier la classe Rectangle et puis appeler la méthode désiré. Mais, le résultat est toujours égale à 0. 26

27 Les constructeurs - 2 Commentaires Il est nécessaire de définir la déclaration d'une variable ayant le type de l'objet désiré. La déclaration est de la forme nom_de_classe nom_de_variable; Rectangle rectangle1; String s; L'opérateur new se charge de créer une instance de la classe et de l'associer à la variable. rectangle1 = new Rectangle (); 27

28 Les constructeurs 3 L'opérateur new est un opérateur de haute priorité. Permet d'instancier des objets et d'appeler une méthode particulière de cet objet (Le constructeur). Il fait appel à la machine virtuelle pour obtenir l'espace mémoire nécessaire à la représentation de l'objet ; puis appelle le constructeur pour initialiser l'objet dans l'emplacement obtenu. Au final, il renvoie une valeur qui référence l'objet instancié. 28

29 Les constructeurs - 4 Questions Rectangle ()? C est une méthode particulière appelée constructeur. Comment on a pu appeler un constructeur non déclaré dans la classe Rectangle? Si vous ne déclarer aucun constructeur, la JVM fournit un constructeur par défaut (sans paramètres). En revanche, dès que vous avez créé un constructeur, n'importe lequel, la JVM ne crée plus le constructeur par défaut. Est-ce qu on peut créer nos propres constructeurs? Oui, et vous pouvez même les surcharger. 29

30 Les constructeurs 5 Exemple public Rectangle (int long, int larg) { longueur = long; largeur = larg; public Rectangle (int long, int larg, int x, int y) { longueur = long; largeur = larg; originex = x; originey = y; 30

31 Les constructeurs 6 this et this () public Rectangle (int longueur, int largeur ) { this.longueur = longueur; this.largeur = largeur ; public Rectangle (int longueur, int largeur, int originex, int originey) { this (longeur, largeur); this.originex = originex; this.originey = originey; 31

32 Les constructeurs 7 this et this () this : désigne l objet courant. this.largeur : est utilisé lorsqu il y a confusion entre le nom du paramètre et celui de la variable d instance et désigne l attribut largeur de l objet courant. this () : est un appel interne (dans la même classe) d un constructeur et entre le parenthèses on mets les arguments (le cas échéant). this (longeur, largeur) : est un appel au constructeur qui prend en argument deux entiers. Que faire pour appeler le deuxième constructeur à 4 entiers en arguments? 32

33 Les constructeurs 8 Un constructeur est une méthode invoquée lors de la création d un objet. Cette méthode, qui peut être vide, effectue les opérations nécessaires à l initialisation d un objet. Chaque constructeur doit avoir le même nom (Première lettre en majuscule) que la classe où il est défini et n a aucune valeur de retour (c est l objet créé qui est renvoyé). 33

34 Les constructeurs 9 Remarque importante : En Java, la notion de pointeur est transparente pour le programmeur. Il faut néanmoins savoir que toute variable désignant un objet est un pointeur. Il s ensuit alors que le passage d objets comme paramètres d une méthode est toujours un passage par référence. A l inverse, le passage de variables primitives comme paramètres est toujours un passage par valeur. 34

35 Accès aux variables et aux méthodes Pour accéder à une variable associée à un objet, il faut préciser l objet qui la contient. Le symbole. sert à séparer l identificateur de l objet de l identificateur de la variable. Une copie de la longueur d un rectangle dans un entier temp s écrit : int temp = rectangle1.longueur ; La même syntaxe est utilisée pour appeler une méthode d un objet. Par exemple : rectangle1.deplacer(10,-3); 35

36 Variables et méthodes de classe - 1 Dans certains cas, il est plus judicieux d attacher une variable ou une méthode à une classe plutôt qu aux objets instanciant cette classe. Par exemple, la classe java.lang.integer possède une variable MAX_VALUE qui représente la plus grande valeur qui peut être affectée à un entier. Or, cette variable étant commune à tous les entiers, elle n est pas dupliquée dans tous les objets instanciant la classe Integer mais elle est associée directement à la classe Integer. Une telle variable est appelée variable de classe. 36

37 Variables et méthodes de classe - 2 De la même manière, il existe des méthodes de classe qui sont associées directement à une classe. Pour déclarer une variable ou méthode de classe, on utilise le mot-clé static qui doit être précisé avant le type de la variable ou le type de retour de la méthode. La classe java.lang.math nous fournit un bon exemple de variable et de méthodes de classes. Math.PI; Math.random(); 37

38 Variables et méthodes de classe - 3 Exemple class Compteur { private static int cptstatique = 0; private int cpt = 0; Compteur() { cpt++; cptstatique++ System.out.println(cpt); System.out.println(cptStatique) Utilisation new Compteur(); new Compteur(); new Compteur(); 38

39 Accesseurs et mutateurs - 1 Un accesseur ((en) getter) est une méthode qui va nous permettre d'accéder aux variables de nos objets en lecture. Grâce aux accesseurs, vous pourrez afficher les variables de vos objets. Les accesseurs ont toujours la forme public typedelattribut getnomdelattribut () { return l attributaaccéder; 39

40 Accesseurs et mutateurs - 2 Un mutateur ((en) setter) nous permettra d'en faire de même en écriture! Grâce aux mutateurs, vous pourrez les modifier. Les mutateurs ont eux aussi une forme particulière, qui est la suivante public void setnomdelattribut (typedelattribut identificateur) { attributamodifier = identificateur; Remarque Si l attribut est statique alors l accesseur ou le mutateur doit être statique aussi. Si l attribut est de type boolean alors le nom de l accesseur devient isnomdelattribut. 40

41 Accesseurs et mutateurs - 3 Exemple public class Ville { private String nomville; private String nompays; private int nbrehabitants; //************* ACCESSEURS ************* public String getnomville() { return nomville; public String getnompays() { return nompays; public int getnbrehabitants() { return nbrehabitants; 41

42 Accesseurs et mutateurs - 4 Exemple (Suite) //************* MUTATEURS ************* public void setnomville(string pnom) { nomville = pnom; public void setnompays(string ppays) { nompays = ppays; public void setnbrehabitants(int nbre) { nbrehabitants = nbre; 42

43 Accesseurs et mutateurs - 5 Exercice 1) La méthode comparer(ville V1) : Elle prend une ville en paramètre, pour pouvoir comparer les variables nbrehabitants de l'objet appelant la méthode et de celui passé en paramètre pour nous dire quelle ville est la plus peuplée. Implémentez cette méthode. public String comparer(ville v1){ 43

44 Accesseurs et mutateurs - 6 2) La méthode tostring() : Celle-ci nous renvoie un objet de type String. Elle fait référence aux variables qui composent l'objet appelant la méthode, toujours grâce à this, et nous renvoie donc une chaîne de caractères qui nous décrit l'objet en énumérant ses composants. Implémentez cette méthode. public String tostring (){ 44

45 Ramasse miettes (Garbage Collector) - 1 En Java, la destruction des instances est assurée par le Garbage collector. Lorsqu'une instance n'est plus accessible a partir des variables, elle peut être détruite automatiquement par GC. La ramasse miette est la technique de Java permettant la gestion automatique de la mémoire. Le rôle du GC est de s assurer qu il y aura toujours de l espace libre dans le tas (heap) pour créer des nouveau objets. 45

46 Ramasse miettes (Garbage Collector) - 2 Exercice 1 : Combiens d objet a été crée et combiens d objet est éligible au GC quand la JVM atteint la ligne du commentaire. class Lien { Lien l ; class ProgrammePrincipal { public static Lien creercycle ( ) { Lien lien1 = new Lien ( ) ; Lien lien2 = new Lien ( ) ; Lien lien3 = new Lien ( ) ; lien1.l = lien2 ; lien2.l = lien3 ; lien3.l = lien1 ; return lien1 ; public static void main (String arg [ ]) { Lien lien = creercycle ( ) ; lien = null ; // ici 46

47 Ramasse miettes (Garbage Collector) - 3 Exercice 1 : Combiens d objet a été crée et combiens d objet est éligible au GC quand la JVM atteint la ligne du commentaire. Correction : Objets créés = 3 Objets éligible au GC = 3 47

48 Ramasse miettes (Garbage Collector) - 4 Exercice 2 : Même question. class Autre { class Lien { Lien l ; Autre aut = new Autre (); class ProgrammePrincipal { public static Lien creercycle ( ) { Lien lien1 = new Lien ( ) ; Lien lien2 = new Lien ( ) ; Lien lien3 = new Lien ( ) ; lien1.l = lien2 ; lien2.l = lien3 ; lien3.l = lien1 ; return lien1 ; public static void main (String arg [ ]) { Lien lien = creercycle ( ) ; lien = null ; // ici 48

49 Ramasse miettes (Garbage Collector) - 5 Exercice 3 : Même question. class Lien { Lien l ; static String s= Bonjour ; class ProgrammePrincipal { public static Lien creercycle ( ) { Lien lien1 = new Lien ( ) ; Lien lien2 = new Lien ( ) ; Lien lien3 = new Lien ( ) ; lien1.l = lien2 ; lien2.l = lien3 ; lien3.l = lien1 ; return lien1 ; public static void main (String arg [ ]) { Lien lien = creercycle ( ) ; lien = null ; // ici 49

50

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

Créer une simple application Java avec ECLIPSE. Par Ahcène BOUNCEUR

Créer une simple application Java avec ECLIPSE. Par Ahcène BOUNCEUR Créer une simple application Java avec ECLIPSE Par Ahcène BOUNCEUR Janvier 2005 INTRODUCTION Dans cet exemple nous allons vous montrer comment peut-on créer une simple application Java en utilisant l IDE

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

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

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

É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

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

Initiation à la Programmation avec Java Semestre 1-2008/2009. Compte rendu final du Projet

Initiation à la Programmation avec Java Semestre 1-2008/2009. Compte rendu final du Projet Initiation à la Programmation avec Java Semestre 1-2008/2009 Compte rendu final du Projet Jean-Baptiste Leprêtre Groupe Y1 Chargé de TD : Fabienne Thomarat 1 SOMMAIRE : I) Cahier des Charges II) Analyse

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

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

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

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

NFA032 Programmation objet avec Java

NFA032 Programmation objet avec Java NFA032 Programmation objet avec Java CNAM-Paris-Île-de-France Première session 2013 (sujet bis) Documents et calculatrice interdits. Le barème est donné à titre indicatif. Exercice 1 : programmation objet

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

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

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

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance 7 de cours/td Université Paris-Diderot Objectifs: Savoir écrire un programme en entier (structure du programme avec une procédure main et des déclarations de fonctions,

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

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

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

Langage C notes de cours

Langage C notes de cours Langage C notes de cours K. El Omari IUT GTE, UPPA 1 Présentation générale 1.1 Introduction La programmation par le langage C (ainsi que par d autres langages dit compilés) est basée sur : 1. la rédaction

Plus en détail

Notions d héritage en Java

Notions d héritage en Java EILCO ING 1 - POO Java TP 5 2014/2015 Notions d héritage en Java L héritage est la capacité d une classe (la sous-classe) à hériter des membres (attributs et méthodes) d une autre classe (la super-classe).

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

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

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

Construction et destruction des objets de vie des objets Objets composites Tableaux d'objets Copie (Initialisation et affectation) des objets

Construction et destruction des objets de vie des objets Objets composites Tableaux d'objets Copie (Initialisation et affectation) des objets Construction et destruction des objets Durée de vie des objets Objets composites Tableaux d'objets Copie (Initialisation et affectation) des objets Initialisation des objets Constructeur par recopieinit

Plus en détail

Expressions, types et variables en Python

Expressions, types et variables en Python Expressions, types et variables en Python 2015-08-26 1 Expressions Les valeurs désignent les données manipulées par un algorithme ou une fonction. Une valeur peut ainsi être : un nombre, un caractère,

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

Les exceptions en java

Les exceptions en java 1/12 Les exceptions en java 2/12 C'est quoi une exception? Une exception est un événement (une erreur) qui se produit lors de l'exécution d'un programme, et qui va provoquer un fonctionnement anormal (par

Plus en détail

Enseignement de spécialité Informatique et sciences du numérique Formation des IA-IPR et chargés de mission Atelier de programmation 2

Enseignement de spécialité Informatique et sciences du numérique Formation des IA-IPR et chargés de mission Atelier de programmation 2 Enseignement de spécialité Informatique et sciences du numérique Formation des IA-IPR et chargés de mission Atelier de programmation 2 David Pichardie, Luc Bougé Mardi 15 mars Nous utiliserons pour cet

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

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

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

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

Programmation 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

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

BAT 4 Polytech Nice. Le langage C#: Concepts fondamentaux. BAT 4 Introduction programmation C# page 1

BAT 4 Polytech Nice. Le langage C#: Concepts fondamentaux. BAT 4 Introduction programmation C# page 1 BAT 4 Polytech Nice Le langage C#: Concepts fondamentaux BAT 4 Introduction programmation C# page 1 Le langage C#: Plan Plan de séance Comprendre les éléments fondamentaux Types primitifs Variables Constantes

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

La programmation Impérative par le Langage C

La programmation Impérative par le Langage C La programmation Impérative par le Langage C 1. Introduction 1.1 Qu est-ce que la programmation impérative? Un programme est constitué de plusieurs lignes d instructions. Chaque instruction permet d effectuer

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

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 2 : Communication

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 2 : Communication iut ORSAY DUT Informatique Département Informatique 2009 / 2010 Travaux Pratiques n o 2 : Communication Nom(s) : Groupe : Date : Objectifs : rappels sur la création de processus par la primitive fork()

Plus en détail

Série 9: Intérêt des fonctions, portée des variables, variables statiques Buts

Série 9: Intérêt des fonctions, portée des variables, variables statiques Buts Série 9: Intérêt des fonctions, portée des variables, variables statiques Buts - La notion de fonction est fondamentale car elle permet d'atteindre deux objectifs: principe d'abstraction: offrir une vue

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

Introduction au langage C - types et variables

Introduction au langage C - types et variables Chapitre 2 Introduction au langage C - types et variables 1 Le Langage C Le langage C est un langage de bas niveau dans le sens où il permet l accès à des données que manipulent les ordinateurs (bits,

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

Organisation des données et structures de stockage

Organisation des données et structures de stockage ING2 - ING3 Nvx 2009-2010 Organisation des données et structures de stockage I. Stockage de l information en C Ce chapitre rappelle brièvement et complète certaines notions de base vues en première année

Plus en détail

Série notée Sujet 1. Règles et recommandations : Instructions ÉC O L E P O L Y T E C H N IQ U E FÉ DÉR A L E D E L A U S A N N E

Série notée Sujet 1. Règles et recommandations : Instructions ÉC O L E P O L Y T E C H N IQ U E FÉ DÉR A L E D E L A U S A N N E EIDGENÖSSISCHE TECHNISCHE HOCHSCHULE LAUSANNE POLITECNICO FEDERALE LOSANNA SWISS FEDERAL INSTITUTE OF TECHNOLOGY LAUSANNE Faculté Informatique et Communication Cours Informatique II (SV) Jamila Sam ÉC

Plus en détail

Epreuve de Programmation Orientée Objet 2ème année de Licence Informatique

Epreuve de Programmation Orientée Objet 2ème année de Licence Informatique Epreuve de Programmation Orientée Objet 2ème année de Licence Informatique 1er juin 2007 Durée : 3 heures. Seule la documentation des classes java.util.list et java.util.arraylist distribuée est autorisée.

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

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

L3 Info & Miage. TP-Projet SGF

L3 Info & Miage. TP-Projet SGF TP-Projet SGF 1. Introduction L objectif de ce mini-projet est de réaliser un Système de Gestion de Fichiers simplifié capable de gérer des accès à des fichiers séquentiels de type flot. L idée est ici

Plus en détail

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance de cours/td Université Paris-Diderot Objectifs: Découverte du type String. Comprendre qu il y a des types différents. Maîtriser les expressions booléennes dans

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

Introduction à l'algorithmique II

Introduction à l'algorithmique II Introduction à l'algorithmique II CHAPITRE HAPITRE: : FICHIERS F ICHIERSET ET : F ENREGISTREMENTS ANNÉE NNÉE: 2014 : 2014-2015 Fichiers Lesfichiersservent à stocker des informations de manière permanente,

Plus en détail

3 Lien entre pointeurs et tableaux.

3 Lien entre pointeurs et tableaux. programme sont dit dynamiques. On se limite ici aux tableaux statiques à une seule dimension, analogue aux vecteurs manipulés en mathématiques. Ils se déclarent sous la forme : type_d_élément variable_tableau[taille];

Plus en détail

Période 3 Les tableaux

Période 3 Les tableaux Département Génie Électrique et Informatique Industrielle Période 3 Les tableaux 1/ Recopie de certains éléments d un tableau Soit les déclarations suivantes : int Tabint[10]={65,21, 9,23, 1,32,5, 69,12,

Plus en détail

1 Les arbres binaires en Java

1 Les arbres binaires en Java Université de Nice-Sophia Antipolis Deug MIAS-MI 1 Algorithmique & Programmation 2002 2003 TP N 10 Arbres binaires Buts : structuration des arbres binaires en Java. classes internes. objets de parcours.

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

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

Initialisation des attributs (1)

Initialisation des attributs (1) Initialisation des attributs (1) Initialiser les attributs d une instance en leur affectant individuellement une valeur, après l instanciation, n est pas une technique satisfaisante: a) elle est fastidieuse,

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

EC726 Programmation avancée TP 1 Introduction aux outils de programmation Java

EC726 Programmation avancée TP 1 Introduction aux outils de programmation Java EC726 Programmation avancée TP 1 Introduction aux outils de programmation Java Jean-Yves Didier Objectifs : Prendre en main les outils pour programmer en Java : Être capable de compiler et d exécuter des

Plus en détail

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges Module SIN221 Rendre un syste me communicant Analyse UML et algorithmie Objectifs : Modifier des diagrammes UML suite à la modification du cahier des charges. Caractériser et valider une classe en C++.

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 : Exercices

Programmation : Exercices Programmation : Exercices IUT de Villetaneuse R&T 1 ère année Laure Petrucci 6 novembre 2007 1 Premiers programmes Exercice 1.1 : Machine à dessiner On souhaite écrire un programme pour afficher des dessins.

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

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

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

[Tutoriel : Interfaçage Visual Studio (C#) -Excel]

[Tutoriel : Interfaçage Visual Studio (C#) -Excel] [Tutoriel : Interfaçage Visual Studio (C#) -Excel] Nicolas Chari, Thomas Dordonne, Aloys Fortier, Jonathan Zilmia [Tutoriel : Interfaçage Visual Studio (C#) -Excel] 2 TABLE DES MATIERES Introduction 4

Plus en détail

Allocation dynamique en c++

Allocation dynamique en c++ Allocation dynamique en c++ *tableau; tableau * tableau = tableau = new [ no_max ]; tableau = new * [ no_max ] tableau[i] = new int[ 5 ]; tableau tableau[i] = new int[5]; * tableau[0] int int int int int

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

TP, première séquence d exercices.

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

Plus en détail

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

BAT 4 Polytech Nice. Cours Environnement Logiciel puis Internet, Services et Réseaux en BAT4. Vérification des effectifs, Appel Sur EDT

BAT 4 Polytech Nice. Cours Environnement Logiciel puis Internet, Services et Réseaux en BAT4. Vérification des effectifs, Appel Sur EDT BAT 4 Polytech Nice Cours Environnement Logiciel puis Internet, Services et Réseaux en BAT4 Vérification des effectifs, Appel Sur EDT Une consigne : prenez des notes pendant les cours! Les supports ne

Plus en détail

3 Pseudo-code et algorithmes 26

3 Pseudo-code et algorithmes 26 TABLE DES MATIÈRES 1 Introduction à la programmation 1 1.1 Programme et langage de programmation 2 1.2 Étapes du développement des programmes 2 1.3 Notion d'algorithme 6 2 Notions de base 9 2.1 Constantes

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

Introduction aux exercices en Java

Introduction aux exercices en Java Introduction aux exercices en Java Avant de commencer les séries proprement dites, nous allons voir quelques informations utiles concernant le langage de programmation principal de ce cours d'informatique

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 10 Lecture de données Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en dé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

Listes et arbres binaires

Listes et arbres binaires Des structures de données dynamiques Listes, Listes ordonnées Arbres binaires, arbre binaires de recherche Listes chaînées Utile si le nombre d éléments n est pas connu à l avance et évolue beaucoup. Permet

Plus en détail

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

Plus en détail

Et également retour sur le TP2. Prog Web Server - 2015-2016

Et également retour sur le TP2. Prog Web Server - 2015-2016 Et également retour sur le TP2 C'est un moyen simple de passer en revue un tableau Deux syntaxes À chaque itération, la valeur de l'élément courant est assignée à $value et le pointeur interne à la liste

Plus en détail

Ingénierie du logiciel : cours 2

Ingénierie du logiciel : cours 2 Ingénierie du logiciel : cours 2 Frédéric Gava (d après F. Martini) Master ISIN, Université de Paris-Est Créteil Cours Ingénierie du logiciel du M2 ISIN Plan 1 Introduction et premiers exemples 2 Création

Plus en détail

Langages de haut niveau

Langages de haut niveau Langages de haut niveau Introduction Un assembleur est un programme traduisant en code machine un programme écrit à l'aide des mnémoniques Les langages d'assemblage représentent une deuxième génération

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

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

Programmation orientée objets

Programmation orientée objets POO : mais pourquoi? La Programmation Orientée Objets (POO) a pour but final de faciliter le débogage, la maintenance et la mise à jour d'applications complexes. C++, Java et Scala sont des exemples de

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

Compteurs, variables et afficheurs dans Automgen

Compteurs, variables et afficheurs dans Automgen Section : S Option : Sciences de l ingénieur Discipline : Génie Électrique Compteurs, variables et afficheurs dans Automgen Domaine d application : Traitement programmé de l information Type de document

Plus en détail

Fonctions et procédures. Procedures: déclaration et appel

Fonctions et procédures. Procedures: déclaration et appel Cours 5 : fonctions, procédures, passage des paramètres 1 Fonctions et procédures Idée : capitaliser sur le code déjà écrit pour introduire des nouvelles commandes et opérations. On souhaite donner un

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

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

T A B L E A U X D O B J E T S E T D A T A B I N D I N G

T A B L E A U X D O B J E T S E T D A T A B I N D I N G T A B L E A U X D O B J E T S E T D A T A B I N D I N G L AUTEUR DE CE TUTORIEL Dominique DAUSSY 3 Place de la Galaxie 76400 TOUSSAINT Mail : daussy.dominique@orange.fr Web : http://dominique-daussy.fr

Plus en détail

INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008

INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008 INF 201 - TP 2 - Programmation C T. Grandpierre 12/2008 Ce qu il faut rendre : A la fin du TP il faudra archiver et compresser l ensemble de votre travail (y compris le rapport avec vos noms) avec la commande

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