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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcription

1 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 le moment, nos applications Java sont constituées de un ensemble de classes chaque classe dans un fichier le nom du fichier sera exactement identique au nom de la classe, aux majuscules près Organisation générale d un projet Java Dans les projets plus grands : les classes peuvent être rangées dans différents répertoires et sous-répertoires les classes qui sont dans un même répertoire sont dans un même paquetage ou package le nom d un package est composé des noms des répertoires formant le chemin d accès à ses classes, séparés par un. les noms des répertoires commencent par une minuscule. Déclaration de package La définition des classes commence par la désignation du package dans lequel la classe se trouve. Cette indication est optionnelle. Si cette instruction est présente, elle doit être la première instruction du fichier. package monrep.monsousrep; Le chemin monrep.monsousrep doit indiquer la liste des sous-répertoires à traverser pour atteindre cette classe.

2 Les API Java API : Application Programming Interface C est l ensemble des classes Java déjà programmées auxquelles vous avez accès. Elles sont organisées en packages et sous-packages. En voici quelques uns : java.lang java.util java.awt java.awt.event javax.swing... Importation de classes Par défaut, accès à toutes les classes définies : dans java.lang dans votre répertoire courant Pour utiliser des classes provenant d autres packages, on utilise l instruction import. Par exemple import java.util.date ; Plus généralement import rep1.rep2.uneclasse; import rep1.rep3.*; Cette instruction doit se trouver après l instruction package, si elle est présente, et avant la définition de la classe. Utiliser les classes d un package Pour pouvoir utiliser une classe CCC d un package PPP, il faut : que CCC soit définie public dans le package PPP ; que le code qui veut utiliser CCC l indique par une instruction import PPP.CCC ;, ou bien import PPP.* ;. Dans un même package, les classes sont définies public ou rien. Si une classe est déclarée public, alors elle est accessible en dehors du package auquel elle appartient. Par défaut, (i.e. sans public), l accès à la classe sera dit package et la classe ne sera accessible que par les classes du même package. La variable CLASSPATH La variable classpath permet au compilateur javac et à l interprète java de savoir où se trouvent les classes utilisées. Par défaut, classpath contient. et le chemin d accès aux API Java. 2 Les chaînes de caractères La classe String à noter : pas obligatoirement de new pour créer un objet String ; 2

3 une String est implémentée comme un tableau constant de caractères ; on ne modifie pas une String, on créé un nouvel objet String (la classe String est une classe non modifiable). La classe String Quelques méthodes : int length() char charat(int ind) boolean equals(string s) int indexof(char c) String substring(int début,int fin) String substring(int début) String trim() Les classes StringBuffer et StringBuilder Les classes StringBuffer et StringBuilder implémentent les chaînes de caractères, comme la classe String, à la différence qu une instance de StringBuffer ou de StringBuilder est modifiable. plus efficace lorsqu on effectue beaucoup de modifications sur une chaîne de caractères. Les classes StringBuffer et StringBuilder Les principales méthodes : append, insert, setcharat,... StringBuilder a de meilleures performances que StringBuffer, mais n est pas robuste par rapport aux accès concurrents. StringBuilder existe depuis le JDK 1.5. StringBuilder est la classe habituellement utilisée. On veut qu un bibliobus affiche tous les livres qu il contient : // Dans la classe Promotion public String tostring(){ StringBuilder sb = new StringBuilder(); sb.appnd(nom); if (nbetudiants>0) { sb.append("voici mes étudiants"); for (int i=0;i<nbetudiants;i++){ sb.append("\n"); sb.append(lesetudiants[i].getprenom()); sb.append(" "); sb.append(lesetudiants[i].getnom()); return sb.tostring(); 3

4 3 Retour vers les objets Durée de vie des variables et des objets un objet existe tant qu il existe une référence vers lui ; une variable d instance d un type primitif existe tant qu il existe une référence vers l objet auquel elle appartient. Définition d une classe Une classe est définie par : ses attributs, ou variables ses méthodes Les attributs sont définis par leur type ; Les méthodes sont définies par leur signature. Les méthodes Signature d une méthode On appelle signature d une méthode son nom, le type de ce qu elle retourne, et la nature de ses arguments. C est ce qu on appelle parfois aussi son entête. Les méthodes Surcharge de méthodes C est la possibilité d avoir un même nom de méthode avec des signatures différentes (et donc des comportements différents). C est la nature des paramètres effectifs qui détermine la méthode exécutée. Le compilateur choisit la méthode à utiliser par concordance de l appel et de la signature. Variables de classe et variables d instance une variable de classe (static) est une variable qui n est créée qu une seule fois par classe, et qui est partagée par toutes les instances de cette classe ; une variable d instance est une variable qui existe pour chaque instance d une classe, et qui contient une valeur relative à l instance à laquelle elle appartient. s : les constantes d une classe les variables qui contiennent une information relative à l ensemble des instances d une classe (compteur d instances,...) Méthodes d instance, méthodes de classe Une méthode qui ne manipule aucune variable d instance (par exemple, une méthode qui effectue un calcul uniquement à partir de ses paramètres) a vocation à être déclarée static. 4

5 public static boolean estvalide(string nom){ return (nom.length()<maxlg); Les modificateurs d accessibilité A l intérieur d une classe, une variable ou une méthode peut être définie avec un modificateur d accès. Les différents modificateurs d accessibilité sont : private l élément (variable ou méthode, d instance ou de classe) est privé, il n est accessible que depuis la classe elle-même (le code de la classe ds laquelle il est défini) ; pas de modificateur d accès l accès est dit package. protected l accès est étendu (par rapport à private au code des classes du même package et aux sous-classes de la classe. Nous reviendrons plus tard sur cette notion, liée à l héritage ; public accessible à partir de tout code qui a accès à la classe où l élément est défini. This Le mot-clé this désigne l instance courante. Il peut être utilisé : pour accéder à un membre de l instance this.nom = nom ; pour passer sa référence à un autre objet Dans la classe Personne Livre liv = new Livre(...) ; liv.jetemprunte(this) ; et Livreimplémente la méthode void jetemprunte(personne p) ; Le mécanisme de création et d initialisation d un objet 1. les variables de classe sont créées dès les premier appel à la classe (soit pour une instanciation appel à new, soit par un accès direct à une variable de classe) : (a) initialisés au niveau de la déclaration ; (b) les constructeurs de statiques (plus rares) ; 2. les variables d instance initialisées hors constructeur (à la déclaration) ; 3. exécution du constructeur ; public class FeuTricolore{ public static final String[] COULEURS = {"ROUGE","ORANGE","VERT"; private int feu; public FeuTricolore(int feu){ this.feu = feu%couleurs.length; public FeuTricolore(){ 5

6 public String tostring(){ return COULEURS[feu]; public void tourne(){ feu = (feu+1)%couleurs.length; //FeuTricolore public static void main(string[] args){ System.out.println("Quelles sont les " + "couleurs possibles?"); for(int i=0;i<feutricolore.couleurs.length; i++) System.out.println(FeuTricolore.COULEURS[i]); FeuTricolore ft = new FeuTricolore(2); System.out.println(ft); for (int i=0;i<10;i++){ ft.tourne(); System.out.println(ft); //main 4 Les interfaces Les interfaces Décomposer un problème en sous-problèmes : c est définir le contrat à respecter par chaque partie c est définir les protocoles de communication entre objets contrat interface Une interface n est pas une classe : elle ne peut pas être instanciée (pas de new) ; elle n implémente aucune méthode. Une interface ne peut contenir que la signature de méthodes (public) la déclaration de constantes (public static final) public interface Automobiliste { public static final String NVLE_IMMAT = "1111WWW99"; 6

7 public void acheteunevoiture(voiture v); public void acheteunevoiture(string immat); public void vendvoiture(); Déclaration d une interface Une interface est dans un fichier du même nom que l interface ; Une interface peut être déclarée dans un package ; Une interface est public ou rien (i.e. package) ; Un fichier qui contient une définition d interface peut contenir des instructions import ; Implémentation d une interface Une classe, si elle implémente une interface, doit fournir une implémentation pour toutes les méthodes définies dans l interface. Une classe peut implémenter plusieurs interfaces. Syntaxiquement : class NomDeLaClasse implements NomDUneInterface, NomDUneAutreInterface{... public class Personne implements Automobiliste{ private String nom; // tous les attributs d une Personne... private Voiture v; public void acheteunevoiture(voiture v){ if ((v==null) && v.estachetee(this)) this.v = v; public void acheteunevoiture(string immat){ if (v==null) v = new Voiture(immat); public void vendvoiture(){ v = null; // et les autres methodes et constructeurs... //Personne Typage Les définitions d interface créent des noms de types tout comme le font les définitions de classe. On peut utiliser le nom d une interface comme le nom de type d une variable ; Toute instance d une classe qui implémente cette interface peut être affectée à cette variable. 7

8 Typage Automobiliste a = new Personne("Dup","Jean",32); Personne p = new Personne("Dur","Paul",28); a.acheteunevoiture("2345abc62"); p.acheteunevoiture("1234abc59"); p.changesociete("marastoca"); a.changesociete("marastoca");//refus Conflit de noms Une classe peut implémenter plusieurs interfaces. Que se passe-t-il si un même nom de méthode se trouve défini dans plusieurs interfaces? Plusieurs cas : même signature. Pas de conflit. les signatures différent par les paramètres. Pas de conflit : surcharge de méthodes les signatures ne diffèrent que par leur type de retour. Conflit! Il n est pas possible qu une classe implémente ces deux interfaces en même temps. 8

É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

Notes de cours GEI 442 : STRUCTURES DE DONNÉES ET ALGORITHMES. Chapitre 1 : Langage JAVA. Ahmed KHOUMSI. Ahmed KHOUMSI. Hiver 2001

Notes de cours GEI 442 : STRUCTURES DE DONNÉES ET ALGORITHMES. Chapitre 1 : Langage JAVA. Ahmed KHOUMSI. Ahmed KHOUMSI. Hiver 2001 Notes de cours GEI 442 : STRUCTURES DE DONNÉES ET ALGORITHMES en JAVA 1 Programmation orientée objet (POO) Objet : cœur de la POO objet = type de données qui a une structure et un état État de l objet

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

Programmation par objets. Objets et Classes

Programmation par objets. Objets et Classes Programmation par objets Objets et Classes Notions du cours comprendre les principes des classes et des objets les constructeurs de classe la méthode tostring() attributs public et private méthodes et

Plus en détail

P.O.O. Année L héritage : un tour d horizon. 2 Accessibilité des membres 3. 3 La redéfinition de méthodes 4. 4 Les constructeurs 6

P.O.O. Année L héritage : un tour d horizon. 2 Accessibilité des membres 3. 3 La redéfinition de méthodes 4. 4 Les constructeurs 6 L héritage P.O.O. Année 2008-09 Plan du cours Table des matières 1 L héritage : un tour d horizon 1 2 Accessibilité des membres 3 3 La redéfinition de méthodes 4 4 Les constructeurs 6 5 Graphe de la relation

Plus en détail

Plan. Chaînes de caractères un exemple d objet. Codage Unicode. Définition. Programmation objet. Programmation objet

Plan. Chaînes de caractères un exemple d objet. Codage Unicode. Définition. Programmation objet. Programmation objet Plan Chaînes de caractères un exemple d objet Définition Programmation objet Classe String Classe StringBuilder Université de Nice - Sophia Antipolis Richard Grin Version1.1 10/11/11 Richard Grin Chaînes

Plus en détail

Chapitre 7: Les collections

Chapitre 7: Les collections Chapitre 7: Les collections Définition Les classes: Vector ArrayList L'interface: Comparable POO \ N.EL FADDOULI 104 Les collections: Définition Une collection est un objet unique permettant de gérer un

Plus en détail

Fiches JAVA. 1 Classes et objets. 2 Création et utilisation d un objet

Fiches JAVA. 1 Classes et objets. 2 Création et utilisation d un objet 1 Classes et objets Fiches JAVA Les éléments de base en java sont des objets. On peut avoir différents types d objets en Java. Le type d un objet est appelé sa classe. Chaque fichier java décrit une classe.

Plus en détail

Introduction à Java. Cours 3: Programmation Orientée Objet en Java. Stéphane Airiau. Université Paris-Dauphine

Introduction à Java. Cours 3: Programmation Orientée Objet en Java. Stéphane Airiau. Université Paris-Dauphine Introduction à Java Cours 3: Programmation Orientée Objet en Java Stéphane Airiau Université Paris-Dauphine Cours 3: Programmation Orientée Objet en Java (Stéphane Airiau) Java 1 But : ne pas coder la

Plus en détail

Programmation - Classes abstraites, Interfaces et classes imbriquées - Classes abstraites. Classe abstraite. cm03-abstraction.pdf March 22,

Programmation - Classes abstraites, Interfaces et classes imbriquées - Classes abstraites. Classe abstraite. cm03-abstraction.pdf March 22, Plan Classes abstraites Interface Classes/Interfaces internes Plan Classes abstraites Interface Classes/Interfaces internes Programmation - Classes abstraites, Interfaces et classes imbriquées - Nicolas

Plus en détail

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 2: Programmation Orientée Objet en Java Stéphane Airiau Université Paris-Dauphine Cours 2: Programmation Orientée Objet en Java (Stéphane Airiau) Java 1 But : ne pas coder la

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 5. Said Jabbour.

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

Plus en détail

PARADIGME ORIENTÉ OBJET - PART 2

PARADIGME ORIENTÉ OBJET - PART 2 PARADIGME ORIENTÉ OBJET - PART 2 A programming paradigm that uses objects to design systems. Sébastien Adam Les concepts avancés de la programmation orientée-objet 2 Plan Héritage en Java Modificateur

Plus en détail

Introduction à la programmation Java

Introduction à la programmation Java Introduction à la programmation Java F. Barthélemy 28 février 2005 1 But du cours Le but de ce cours est d entrer dans le langage JAVA à un niveau de description moyen : plus détaillé que dans le premier

Plus en détail

École Polytechnique Département de Génie Informatique INF-4100, Sujets spéciaux: le langage JAVA Examen intratrimestriel: Automne 2003

École Polytechnique Département de Génie Informatique INF-4100, Sujets spéciaux: le langage JAVA Examen intratrimestriel: Automne 2003 École Polytechnique Département de Génie Informatique INF-4100, Sujets spéciaux: le langage JAVA Examen intratrimestriel: Automne 2003 Question 1: (5 points) 1.1 On désire créer et initialiser un tableau

Plus en détail

Classes et objets dans JAVA

Classes et objets dans JAVA Classes et objets dans JAVA «Le sage montre la Lune, le sot regarde le doigt.» Lao - Tseu Rappel : Une classe déclare des propriétés communes à un ensemble d'objets. La classe déclare des attributs représentant

Plus en détail

Examen 1 ère session page 1 NFA Programmation JAVA Formation CNAM. 1 ère Session NFA 031 CORRECTION

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

Plus en détail

Introduction au typage de JAVA

Introduction au typage de JAVA Introduction au typage de JAVA F. Barthélemy 2 mai 2006 1 Un petit jeu Soit le programme JAVA suivant : class A{ void m(a a){ System.out.println("m de A"); void n(a a){ System.out.println("n de A"); class

Plus en détail

Structure d un projet et paquetages. Paquetages. Quelques paquetages du JDK. Paquetage java.lang. Nom complet d une classe

Structure d un projet et paquetages. Paquetages. Quelques paquetages du JDK. Paquetage java.lang. Nom complet d une classe Structure d un projet et paquetages Paquetages Université de Nice - Sophia Antipolis Richard Grin Version 1.1.2 10/11/10 Richard Grin Paquetages page 2 Quelques paquetages du JDK Les classes qui sont liées

Plus en détail

COURS 5 : DIAGRAMME DE CLASSES

COURS 5 : DIAGRAMME DE CLASSES COURS 5 : DIAGRAMME DE CLASSES Samia BOULKRINAT ( Basé sur le cours de Assia HACHICHI) 1 1. La classe et l objet 2. Encapsulation, 3. Héritage, 4. Polymorphisme 2 La classe : "Abstraction d'un type de

Plus en détail

javadoc Université de Nice - Sophia Antipolis Richard Grin

javadoc Université de Nice - Sophia Antipolis Richard Grin javadoc Université de Nice - Sophia Antipolis Richard Grin Version141 1.4.1 8/2/11 Généralités javadoc produit de la documentation en partant de commentaires particuliers insérés dans le code source des

Plus en détail

Conception et programmation avancées TD révisions UML - JAVA

Conception et programmation avancées TD révisions UML - JAVA Conception et programmation avancées TD révisions UML - JAVA I) Partie UML 1) Les instances décrivent-elles des méthodes? Où sont décrites les méthodes? Corr : Non bien sûr. Les méthodes sont décrites

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet 1A 2014 / 2015 Programmation Orientée Objet Cours 1 Gérald Oster Présentation du module Objectifs : Connaître les concepts fondamentaux des langages objets Etudier et maîtriser un langage

Plus en détail

Programmation Impérative 2

Programmation Impérative 2 Programmation Impérative 2 Responsable: Nguyen Kim Thang thang@ibisc.fr (merci Tarek!) http://www.ibisc.fr/~thang/teaching/progimp2/progimp.html Organisation Jeudis, cours de 8h00-9h30, TD de 9h45-11h15

Plus en détail

Programmation avancée et répartie en Java : rappels sur les mots-clés de Java

Programmation avancée et répartie en Java : rappels sur les mots-clés de Java Programmation avancée et répartie en Java : rappels sur les mots-clés de Java Frédéric Gava L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours de M1 MIAGE Plan 1 Flot de contrôle 2 Plan 1

Plus en détail

Introduction à Java. Cours 3: Programmation Orientée Objet en Java. Stéphane Airiau. Université Paris-Dauphine

Introduction à Java. Cours 3: Programmation Orientée Objet en Java. Stéphane Airiau. Université Paris-Dauphine Introduction à Java Cours 3: Programmation Orientée Objet en Java Stéphane Airiau Université Paris-Dauphine Cours 3: Programmation Orientée Objet en Java (Stéphane Airiau) Java 1 But : ne pas coder la

Plus en détail

Java et la programmation orientée objet (POO)

Java et la programmation orientée objet (POO) 1. Java, les bases 1.1. Introduction 1.1.1. Un bref historique - origine : 1991 - ingénieur de SUN qui ont cherché à concevoir un langage applicable à de petits appareils électriques (code embraqué). L

Plus en détail

Les énumérations : Définition. Une énumération est un ensemble fini de constantes.

Les énumérations : Définition. Une énumération est un ensemble fini de constantes. Chapitre 9 Les énumérations Les énumérations : Définition Une énumération est un ensemble fini de constantes. Exemple : public enum Jours { LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI, SAMEDI, DIMANCHE La

Plus en détail

Introduction à la Programmation Objet

Introduction à la Programmation Objet Introduction à la Programmation Objet Jusqu à présent, vous avez appris à écrire des programmes de plus en plus complexes. Il faut donc maintenant des outils pour organiser ces programmes de façon plus

Plus en détail

Une introduction a Java 1

Une introduction a Java 1 Une introduction a Java 1 3. Les classes et les objets 3.1. La notion de classe La notion de classe généralise la notion de type On se propose de définir une classe Point destinée à manipuler des points

Plus en détail

Javadoc. Outil Javadoc. outil standard Java permet de générer une documentation HTML pour un ensemble de classes Java

Javadoc. Outil Javadoc. outil standard Java permet de générer une documentation HTML pour un ensemble de classes Java Javadoc 1 Générer une documentation avec Javadoc Outil Javadoc outil standard Java permet de générer une documentation HTML pour un ensemble de classes Java Utilisation : La syntaxe d appel a plusieurs

Plus en détail

Méthodes et variables statiques

Méthodes et variables statiques Année 2008-2009 Méthodes et variables statiques Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 La classe Math Supposons que vous voulez écrire une

Plus en détail

Programmation par Objets

Programmation par Objets Programmation par Objets Clément PERNET L3 MI, IM 2 AG, Université J. Fourier Plan du cours Classes et Objets (1-2) Héritage (3-4) Gestion des exceptions (5) Threads (6) Programmation graphique et évennementielle

Plus en détail

Programmation Java - bases

Programmation Java - bases Programmation Java - bases Programmation objet avec Java (2) Christelle Urtado & Sylvain Vauttier Janvier 2013 Surdéfinition et Dans un constructeur, pour appeler un autre constructeur de la même classe,

Plus en détail

Utilisation d objets: la classe String

Utilisation d objets: la classe String Utilisation d objets: la classe String Maria Virginia Aponte CNAM-Paris Année 2012/2013 Maria Virginia Aponte (CNAM-Paris) NFA031 Année 2012/2013 1 / 23 Les objets en Java déclarés à partir d un nom de

Plus en détail

I.U.T. Nice-Côte d'azur Département R & T. TP 1. Introduction à Java (~/I5/TP1/) a) Les outils à utiliser pour écrire des programmes en langage Java

I.U.T. Nice-Côte d'azur Département R & T. TP 1. Introduction à Java (~/I5/TP1/) a) Les outils à utiliser pour écrire des programmes en langage Java TP 1 Introduction à Java (~/I5/TP1/) Avant tout, la première chose à faire est de créer dans votre répertoire d entrée, un répertoire nommé I5. Les différents exercices d une feuille de TP seront regroupés

Plus en détail

Récapitulatif Java - langage

Récapitulatif Java - langage Récapitulatif Java - langage Déclaration des variables: - toute variable doit être déclarée avant d être utilisée - la visibilté de la variable est le bloc où elle est est déclarée ainsi que tous les blocs

Plus en détail

TP1 JAVA. Cette commande génère un fichier compilé de nom : nom_fich.class. Et pour lancer l'exécution de ce programme il faut taper :

TP1 JAVA. Cette commande génère un fichier compilé de nom : nom_fich.class. Et pour lancer l'exécution de ce programme il faut taper : TP1 JAVA 1. Présentation de l'ide Netbeans 1.2 Compiler et exécuter : javac et java Pour faire un programme en java il faut taper son code via un éditeur de texte, dans notre cas il s'agit d'emacs, et

Plus en détail

Compléments sur le langage Java

Compléments sur le langage Java Plan de cette partie Compléments sur le langage Java Université de Nice - Sophia Antipolis Version 3.4.4 16/2/10 Richard Grin Classes internes, initialiseurs non static Clonage Finalize ShutdownHook R.

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

Travaux Dirigés Java

Travaux Dirigés Java Travaux Dirigés Java Séance 1 M. Safey El Din 19 janvier 2004 1 Premiers exercices Sommes de carrés : écrire un programme qui calcule la somme des 100 premiers entiers et indique à l écran le résultat.

Plus en détail

Chapitre II. Classes : Concepts de base

Chapitre II. Classes : Concepts de base Chapitre II Classes : Concepts de base 1 Introduction 2 Syntaxe 3 Encapsulation 4 5 Destructeur POO2 Licence 3 Informatique 2016-2017 Classes : Concepts de base 28 Introduction Chapitre II Classes : Concepts

Plus en détail

Année Les variables Java. Nicolas Baudru mél : page web : nicolas.baudru.perso.esil.univmed.

Année Les variables Java. Nicolas Baudru mél : page web : nicolas.baudru.perso.esil.univmed. Année 2008-2009 Les variables Java Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Déclaration de variables Java est un langage à typage fort... Lors

Plus en détail

TD1 Mes premiers programmes en POO Notions

TD1 Mes premiers programmes en POO Notions Programmation Orientée Objet IUT Lumière, DUT STID 2 2007-2008 Pierre Parrend TD1 Mes premiers programmes en POO Notions A. Compilation Compilation > javac HelloWorld.java HelloWorld.java HelloWorld.class

Plus en détail

Programmation Orientée Objet. Les chaînes de caractères

Programmation Orientée Objet. Les chaînes de caractères Programmation Orientée Objet Les chaînes de caractères Julien Provillard http://www.i3s.unice.fr/~provilla/poo/ julien.provillard@unice.fr Les chaînes de caractères Objectifs Classe String Relations avec

Plus en détail

Premier objectif du cours : approfondir la POO. Programmation et Conception Orientées Objet. Deuxième objectif du cours : programmer proprement

Premier objectif du cours : approfondir la POO. Programmation et Conception Orientées Objet. Deuxième objectif du cours : programmer proprement Premier objectif du cours : approfondir la POO Programmation et Conception Orientées Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 17 novembre 2016 Nous allons

Plus en détail

INF1256 Informatique pour les sciences de la gestion

INF1256 Informatique pour les sciences de la gestion INF1256 Informatique pour les sciences de la gestion Encapsulation, classes et méthodes abstraites, packages Johnny TSHEKE, Ing. Jr. Université du Québec à Montréal Département d Informatique tsheke shele.johnny@uqam.ca

Plus en détail

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 3 Stéphane Airiau Université Paris-Dauphine Cours 3 (Stéphane Airiau) Java 1 Liste chainée 1 public class Noeud { 2 String valeur; 3 Noeud suivant; 4 5 public Noeud(String val){

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

LES CLASSES ABSTRAITES ET LES INTERFACES

LES CLASSES ABSTRAITES ET LES INTERFACES CHAPITRE 6 : LES CLASSES ABSTRAITES ET LES INTERFACES Objectifs spécifiques 1. Introduire la notion de classe abstraite, les règles de définition et l intérêt pratique 2. Introduire le concept d interfaces,

Plus en détail

Petit tutoriel sur java, javac et javadoc

Petit tutoriel sur java, javac et javadoc Petit tutoriel sur java, javac et javadoc Stéphane NICOLAS 24 mai 2001 Résumé Le présent document vous aidera à mieux comprendre le fonctionnement des outils de la jdk, à savoir : java : l interpréteur

Plus en détail

Chapitre 5 : Relations entre classes

Chapitre 5 : Relations entre classes Chapitre 5 : Relations entre classes Relation Uses Relation d'héritage Les sous-classes Héritage simple Membres protégés Constructeurs Héritage multiple POO \ N.EL FADDOULI 65 La relation "utilise" La

Plus en détail

Programmation Orientée Objet avec Java. 24 octobre 2013

Programmation Orientée Objet avec Java. 24 octobre 2013 Programmation 24 octobre 2013 Chapitre 1: Introduction Chapitre 2: Bases de Java Chapitre 3: Les tableaux simples Chapitre 4: Classes, attributs, méthodes Chapitre 5: Héritage Chapitre 6: Documenter un

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

Introduction à Java. Cours 3: Programmation Orientée Objet en Java. Stéphane Airiau. Université Paris-Dauphine

Introduction à Java. Cours 3: Programmation Orientée Objet en Java. Stéphane Airiau. Université Paris-Dauphine Introduction à Java Cours 3: Programmation Orientée Objet en Java Stéphane Airiau Université Paris-Dauphine Cours 3: Programmation Orientée Objet en Java (Stéphane Airiau) Java 1 Types énumérés Parfois,

Plus en détail

0 jour. Programmer java (java se) - niveau 1 OBJECTIFS POUR QUI?

0 jour. Programmer java (java se) - niveau 1 OBJECTIFS POUR QUI? Programmer java (java se) - niveau 1 Cette formation permet aux développeurs de créer des programmes JAVA SE. Elle peut être réalisée avec les outils suivants : - Eclipse - NetBeans OBJECTIFS Ecrire, compiler,

Plus en détail

Série d exercices N 2

Série d exercices N 2 Série d exercices N 2 Exercice 1: A/ On considère la classe Etudiant définie par : - les attributs privés suivants : nom, prénom, nombre de notes et un tableau de notes - les méthodes suivantes : Saisie,

Plus en détail

Module : La Programmation Orientée Objet & C++ M. Ouadï Belmokhtar

Module : La Programmation Orientée Objet & C++ M. Ouadï Belmokhtar Module : La Programmation Orientée Objet & C++ M. Ouadï Belmokhtar ouadi.belmokhtar@gmail.com La programmation Orientée Objet (POO) est un paradigme (style) de programmation informatique élaboré par deux

Plus en détail

C#.NET. Marc Chevaldonné Année scolaire mardi 15 novembre 2011

C#.NET. Marc Chevaldonné  Année scolaire mardi 15 novembre 2011 C#.NET Marc Chevaldonné marc.chevaldonne@u-clermont1.fr http://marc.chevaldonne.free.fr Année scolaire 2011-2012 1 Bases du C# syntaxe, types 1er programme en C# ( exemple 1) tout est objet Syntaxe proche

Plus en détail

L héritage : principe

L héritage : principe L héritage Principe class Pixel { private int x ; private int y ; public Pixel( int x, int y ) { // public void affiche() { // L héritage : principe L héritage permet de créer facilement des nouvelles

Plus en détail

Génie Logiciel I. Nicolas Kielbasiewicz C.D.C.S.P./I.S.T.I.L./I.C.J. Filière M.A.M. 2ème année - 08/09

Génie Logiciel I. Nicolas Kielbasiewicz C.D.C.S.P./I.S.T.I.L./I.C.J. Filière M.A.M. 2ème année - 08/09 Génie Logiciel I Cours II - Propriétés des éléments d une classe, généricité Nicolas Kielbasiewicz C.D.C.S.P./I.S.T.I.L./I.C.J. Filière M.A.M. 2ème année - 08/09 Nicolas Kielbasiewicz (C.D.C.S.P./I.S.T.I.L./I.C.J.)

Plus en détail

Java Licence Professionnelle CISII,

Java Licence Professionnelle CISII, Java Licence Professionnelle CISII, 2009-10 Cours 3 : Autres types de données (c) http://www.loria.fr/~tabbone/cours.html 1 Les constantes - Contiennent une valeur fixe et sont caractérisées par un identificateur

Plus en détail

Programmation orientée objet série n 3 - CP 2 Corrections année 2015

Programmation orientée objet série n 3 - CP 2 Corrections année 2015 Programmation orientée objet série n 3 - CP 2 Corrections année 2015 1. Lecture d'une classe : Présentation de la Classe PointCartesien Nous allons voir dans cette série d'exercices la manipulation d'objets

Plus en détail

Les annotations en Java. 2010/2011 F. Mallet - Miage M1 1

Les annotations en Java. 2010/2011 F. Mallet - Miage M1 1 Les annotations en Java F. Mallet 2010/2011 F. Mallet - Miage M1 1 Les annotations F. Mallet miage.m1@gmail.com http://deptinfo.unice.fr/~fmallet/ 2011/2012 F. Mallet 2 Apparues avec Java2 1.5 (Tiger)

Plus en détail

NFA023/Android Programmation orientée objet/plan du cours

NFA023/Android Programmation orientée objet/plan du cours NFA023/Android Programmation orientée objet/plan du cours 2011-2012 1 Notion de structure Insuffisance des types primitifs et des tableaux en java : on veut représenter des produits, qui peuvent être périmés

Plus en détail

Cours 4 : Héritage et polymorphisme

Cours 4 : Héritage et polymorphisme Principe de l héritage Syntaxe DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.fr Cours 4 : Héritage et polymorphisme Besoins : éviter de dupliquer du code (attributs et méthodes)

Plus en détail

IFT FINAL. Directives: IFT Session Été, Final. Mohamed Lokbani. Inscrivez tout de suite votre nom et code permanent.

IFT FINAL. Directives: IFT Session Été, Final. Mohamed Lokbani. Inscrivez tout de suite votre nom et code permanent. IFT1020 - Session Été, Final Mohamed Lokbani IFT1020 - FINAL Inscrivez tout de suite votre nom et code permanent. Nom: Prénom(s): Signature: Code perm: Date : 29 juillet 2004 Durée: 3 heures (de 18h30

Plus en détail

Héritage, sous-typage et classes abstraites

Héritage, sous-typage et classes abstraites Héritage, sous-typage et classes abstraites Virginia Aponte Département Informatique CNAM-Paris April 18, 2017 Virginia Aponte (Cnam) NFA032 April 18, 2017 1 / 58 1. Sous-typage (polymorphisme objet) Virginia

Plus en détail

ANNEE UNIVERSITAIRE 2007/ ère Session de Printemps. Problème.

ANNEE UNIVERSITAIRE 2007/ ère Session de Printemps. Problème. ANNEE UNIVERSITAIRE 2007/2008 1 ère Session de Printemps DISVE Licence Parcours : CSB4, MHT4 UE : INF252 Epreuve : Programmation2 Date : 6 Mai 2008 Heure : 8h Durée : 1h30 Documents : Tous Documents autorisés

Plus en détail

Dossier 1 Principaux éléments de syntaxe Java

Dossier 1 Principaux éléments de syntaxe Java IUT Montpellier Informatique Licence professionnelle 2009/10 Programmation par objets en Java Dossier 1 Principaux éléments de syntaxe Java Cette partie n'aborde pas les notions de classe et d'objet (et

Plus en détail

Examen final de Programmation Objet : Corrigé-type

Examen final de Programmation Objet : Corrigé-type Université A. Belkaïd Tlemcen Faculté des Sciences Département d'informatique Examen final de Programmation Objet : Corrigé-type Année universitaire 2014-2015 2 e année licence informatique Programmation

Plus en détail

Documents et outils XML TP6 - API Java DOM

Documents et outils XML TP6 - API Java DOM 1. Introduction Commencez par créer un dossier tp6 pour ce TP et travaillez dedans. Lancez Eclipse. Créez un projet appelé TP6 dans votre Workspace Java favori. Vérifiez qu il sépare bien les sources src

Plus en détail

Identificateurs. IFT1144 Programmation Internet. Types de données. Mots clés de JavaScript. Variables. Déclaration d une variable.

Identificateurs. IFT1144 Programmation Internet. Types de données. Mots clés de JavaScript. Variables. Déclaration d une variable. Identificateurs IFT1144 Programmation Internet Michel Reid Suite de caractères ( lettres, chiffres,? ou _ ) qui ne commence pas par un chiffre. Autres caractères sont interdits, par exemples : #, blanc

Plus en détail

Licence Informatique Année Interfaces, polymorphisme

Licence Informatique Année Interfaces, polymorphisme Université Paris 7 Java Licence Informatique Année 2005-2006 TD n 3 - Correction Interfaces, polymorphisme Exercice 1 On veut construire un programme capable d afficher et de déplacer des figures géométriques

Plus en détail

Extension dynamique et réflexion. USTL routier 1

Extension dynamique et réflexion. USTL  routier 1 Extension dynamique et réflexion USTL http://www.lifl.fr/ routier 1 Extension dynamique Java offre la possibilité d avoir des programmes qui s étendent dynamiquement : permet un programme P de charger

Plus en détail

Anne Tasso. 3 e édition Groupe Eyrolles, 2000, 2002, 2005, ISBN :

Anne Tasso. 3 e édition Groupe Eyrolles, 2000, 2002, 2005, ISBN : Anne Tasso 3 e édition 2005 Groupe Eyrolles, 2000, 2002, 2005, ISBN : 2-212-11679-9 chapitre n 10 Collectionner un nombre indéterminé d objets Les dictionnaires Pour améliorer la recherche d éléments complexes

Plus en détail

POO. Le concept général de la POO permet de regrouper les données et les instructions de manipulation en unités conceptuelles.

POO. Le concept général de la POO permet de regrouper les données et les instructions de manipulation en unités conceptuelles. 1 JAVASCRIPT POO INTRODUCTION Le concept général de la POO permet de regrouper les données et les instructions de manipulation en unités conceptuelles. La programmation orientée objets encapsule les données,

Plus en détail

Les bases du langage Java

Les bases du langage Java Les bases du langage Java 1 / 26 1 Structure syntaxique Commentaires Mots réservés Identifiants Littéraux Types primitifs 2 Classpath Définition Spécification Plan 3 Package Définition Création de package,

Plus en détail

Définition des variables en C++

Définition des variables en C++ Définition des variables en C++ En C++ vous pouvez déclarer les variables ou fonctions n'importe où dans le code. La portée de telles variables va de l'endroit de la déclaration jusqu'à la fin du bloc

Plus en détail

Function et Lambda. Rémi Forax

Function et Lambda. Rémi Forax Function et Lambda Rémi Forax forax@univ-mlv.fr Calcul du minimum & maximum public static int min(int[] values) { if (values.length == 0) { throw new IllegalArgumentException(); int min = values[0]; for(int

Plus en détail

Qu'est-ce qu'une variable? Identificateurs Portée Masquage. AlgoProg

Qu'est-ce qu'une variable? Identificateurs Portée Masquage. AlgoProg Qu'est-ce qu'une variable? Identificateurs Portée Masquage AlgoProg 2015-16 124 Une variable permet de mémoriser des valeurs. Un emplacement en mémoire (adresse) lui est attribué. Une définition de variable

Plus en détail

Examen Java: IUP GEII RNC2

Examen Java: IUP GEII RNC2 Examen Java: IUP GEII RNC Pascal Molli, Rémi Badonnel, Vincent Cridlig 6 janvier 00 Exercice : Question de cours. En Java, l encapsulation est elle basée sur les classes ou sur les objets? écrivez un programme

Plus en détail

POO. par Jenny Benois-Pineau

POO. par Jenny Benois-Pineau POO par Jenny Benois-Pineau 1 Introduction Pourquoi POO? Crise du logiciel Robustesse, interchangeabilité des composantes, réutilisation du code, extensibilité, protection Langages : Java, Smalltalk, Eiffel,

Plus en détail

Corrigé du Contrôle d Informatique INF 311

Corrigé du Contrôle d Informatique INF 311 Corrigé du Contrôle d Informatique INF 3 Sujet proposé par P. Chassignet et F. Nielsen 3 juillet 200 Seuls les documents fournis dans le cadre du cours et les notes personnelles sont autorisés. Durée :

Plus en détail

L3 MIASHS. INF F5 Héritage.

L3 MIASHS. INF F5 Héritage. L3 MIASHS INF F5 Héritage Daniel.Bardou@upmf-grenoble.fr Sommaire Définitions Constructeurs et héritage Pseudo-variables Ajout d'attributs Ajouts et redéfinitions de méthodes Polymorphisme d'inclusion

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

Notes de cours. Introduction

Notes de cours. Introduction Notes de cours GEI 442 : STRUCTURES DE DONNÉES ET ALGORITHMES Partie 1 : introduction à JAVA Hiver 2000 Ahmed KHOUMSI 1 Introduction - JAVA permet écriture APPLETs APPLET = programme JAVA : - exécuté par

Plus en détail

Chapitre 6 Abstraction et utilisation des interfaces

Chapitre 6 Abstraction et utilisation des interfaces Chapitre 6 Abstraction et utilisation des interfaces 1. Les classes Abstraites Une classe abstraite est une classe qui ne permet pas d instancier des objets, elle ne peut servir que de classe de base pour

Plus en détail

UE Programmation C++ 2ème cours. B. Gas. Orientation I3SR en apprentissage.

UE Programmation C++ 2ème cours. B. Gas. Orientation I3SR en apprentissage. 2ème cours B. Gas Les classes: définition Un objet est constitué d'un ensemble de données de type quelconque et d'un ensemble de fonctions permettant de manipuler ces données. La définition d'un type d'objet

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

Prérequis sur la programmation orientée objet illustrée avec JAVA

Prérequis sur la programmation orientée objet illustrée avec JAVA Prérequis sur la programmation orientée objet illustrée avec JAVA Christian Bac, Denis Conan Revision : 2058 CSC4102 Télécom SudParis Février 2016 Table des matières Prérequis sur la programmation orientée

Plus en détail

Révision Les mots réservés de Java. Programmation et Conception Orientées Objet. Révision Interfaces. Révision Les classes

Révision Les mots réservés de Java. Programmation et Conception Orientées Objet. Révision Interfaces. Révision Les classes Révision Les mots réservés de Java Programmation et Conception Orientées Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 31 août 2017 Gestions des paquets : package

Plus en détail

Les classes en C# Il est possible d'attribuer des valeurs par défaut aux champs de donnée.

Les classes en C# Il est possible d'attribuer des valeurs par défaut aux champs de donnée. Les classes en C# Nous avons vu qu'en dehors des types de base, tout est classe. Une classe est constituée d'une partie données - les attributs - et d'une partie méthodes. Les membres d'une classe Des

Plus en détail

package telephonie; import telephonie.util.date; public class OperateurTarifVariable implements Operateur {

package telephonie; import telephonie.util.date; public class OperateurTarifVariable implements Operateur { public class OperateurTarifVariable implements Operateur { private static final int TARIF_BAS = 15; private static final int TARIF_HAUT = 45; private static final int TARIF_MOYEN = 30; private int nbconnexionsactives;

Plus en détail

LES CLASSES DEFINITION D UNE CLASSE

LES CLASSES DEFINITION D UNE CLASSE LES CLASSES Définition d une classe Droits d accès Types de classes Recommandations de style Définition des fonctions membres Instanciation d une classe Utilisation des objets Fonctions membres constantes

Plus en détail

Ce document est un guide succinct sur JUnit, un framework de test unitaire pour Java.

Ce document est un guide succinct sur JUnit, un framework de test unitaire pour Java. IN201 : JUnit SUPAERO 2A Christophe Garion Ce document est un guide succinct sur JUnit, un framework de test unitaire pour Java. Le problème principal qui se pose en «informatique»

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

Java et la généricité. Jean-Pierre Fournier

Java et la généricité. Jean-Pierre Fournier Java et la généricité Jean-Pierre Fournier http://www.iut-orsay.fr/~fournier Java est un langage objet d origine, les principaux mécanismes héritage, encapsulation, exceptions et de nombreuses classes

Plus en détail

EX 5 : Classes Abstraites

EX 5 : Classes Abstraites IUT d Orsay - DUT Informatique - Jean-Claude MARTIN JEAN-CLAUDE.MARTIN@U-PSUD.FR Objectifs S2 Module M2103 - Programmation Orientée Objet (POO) Comprendre l utilité d une classe abstraite Programmer des

Plus en détail

Exercices en langage JAVA

Exercices en langage JAVA Exercices en langage JAVA H. Frezza-Buet et M. Ianotto 10 février 2003 Table des matières 1 Ecrire un programme, le compiler et l exécuter 3 1.1 Calcul de la somme des 100 premiers entiers avec une classe

Plus en détail