Programmation Par Objets



Documents pareils
Package Java.util Classe générique

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

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

Programmer en JAVA. par Tama

Auto-évaluation Programmation en Java

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

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

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

Chapitre 10. Les interfaces Comparable et Comparator 1

TD/TP PAC - Programmation n 3

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

PROGRAMMATION PAR OBJETS

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

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Une introduction à Java

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

Threads. Threads. USTL routier 1

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

Java Licence Professionnelle CISII,

Certificat Big Data - Master MAthématiques

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

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

Arbres binaires de recherche

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

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

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

Introduction au langage de programmation Java

TD/TP PAC - Programmation n 3

Projet de programmation (IK3) : TP n 1 Correction

Synchro et Threads Java TM

Java 1.5 : principales nouveautés

LOG4430 : Architecture logicielle et conception avancée

4. Groupement d objets

Corrigé des exercices sur les références

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Classe Interne, Anonyme & Enumération

Programmation avec des objets : Cours 7. Menu du jour

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

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

as Architecture des Systèmes d Information

TP1 : Initiation à Java et Eclipse

Calcul Parallèle. Cours 5 - JAVA RMI

Remote Method Invocation Les classes implémentant Serializable

Introduction à MapReduce/Hadoop et Spark

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Un ordonnanceur stupide

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Développement Logiciel

Java RMI. Arnaud Labourel Courriel: Université de Provence. 8 mars 2011

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

Introduction au langage Java

Cours 1: Java et les objets

Programmation Objet II

Langage à objets : JAVA (1)

Une introduction à la technologie EJB (2/3)

Remote Method Invocation en Java (RMI)

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Bases Java - Eclipse / Netbeans

Généralités sur le Langage Java et éléments syntaxiques.

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

RMI le langage Java XII-1 JMF

Corrigés des premiers exercices sur les classes

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Chapitre VI- La validation de la composition.

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

Langage Java. Classe de première SI

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Remote Method Invocation (RMI)

Premiers Pas en Programmation Objet : les Classes et les Objets

Programmation Objet I

Généricité. en Java. (polymorphisme paramétrique) Philippe GENOUD UJF Janvier

Support de cours et TD Programmation Orientée Objet

Création d une application JEE

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

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Introduction : les processus. Introduction : les threads. Plan

Exercices sur les interfaces

INITIATION AU LANGAGE JAVA

Plan du cours. Historique du langage Nouveautés de Java 7

Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003.

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

Programmation d application Bases de données avec Java

Applet pour visualiser les variables «automate» notifiées

2. Comprendre les définitions de classes

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

Architecture Orientée Service, JSON et API REST

Programmation Orientée Objet Java

TP Programmation Java / JDBC / Oracle

INF 321 : mémento de la syntaxe de Java

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Programmation Orientée Objet

Programmation par les Objets en Java

2 e édition JAVA 5 et 6. Jérôme Bougeault. TSoft et Groupe Eyrolles, 2003, 2008, ISBN :

OpenPaaS Le réseau social d'entreprise

Cours 14 Les fichiers

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

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

Transcription:

Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1

Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets (hétérogène) package java.util Structures de données dynamiques JDK 1.1 : Vector, Hashtable, Date, Properties, StringTokenizer,... Ne peuvent contenir que des Object => downcast nécessaire pour la restitution A noter que sur ce point C++ est plus puissant avec ses Templates (classes génériques du genre «Liste de <T>») et sa bibliothèque STL (Standard Templates Library). En attendant les «generic» en Java... B. Carré Polytech Lille 2

Vector : liste d Object (hétérogène) public class Vector implements Cloneable { void addelement(object obj); void insertelementat(object obj, int index) throws ArrayIndexOutOfBoundsException; void removeelement(object obj); void setelementat(object obj, int index) ArrayIndexOutOfBoundsException; boolean contains(object obj); Object elementat(int index) throws ArrayIndexOutOfBoundsException; int indexof(object obj); int size(); boolean isempty(); String tostring(); Enumeration elements();... throws B. Carré Polytech Lille 3

Vector : exemple import java.util.*; public class Circuit { private Vector composants = new Vector(); public void addporte (Porte p) { composants.addelement(p); public void run() { for (int i=0;i<composants.size();i++) { ((Porte)composants.elementAt(i)).run(); public void afficher() { for(int i=0;i<composants.size();i++) ((Porte)composants.elementAt(i)).display(); B. Carré Polytech Lille 4

Vector : exemple // liste de type primitif (entiers) : wrapper import java.util.*; public class IntegerList { private Vector l = new Vector(); public void add(int i) { l.addelement(new Integer(i)); // wrapper public int somme() { int s; for(int i=0;i<l.size();i++) //dewrapper : s=s+((integer)l.elementat(i)).intvalue(); return s; B. Carré Polytech Lille 5

Enumérateur Interface d itération sur les éléments d une structure de données, quelque soit son type (Vector, Hashtable,...) Favoriser l indépendance entre algorithmes et structures de données. Existent en C++ et autres. interface Enumeration { boolean hasmoreelements(); Object nextelement() throws NoSuchElementException; B. Carré Polytech Lille 6

Enumérateur : exemples public class Circuit { public void run() { Enumeration enum = composants.elements(); while (enum.hasmoreelements()) ((Porte)enum.nextElement()).run();... public class IntegerList {... public int somme() { int s; Enumeration enum = l.elements(); while (enum.hasmoreelements()) s=s+((integer)enum.nextelement()).intvalue(); return s;... B. Carré Polytech Lille 7

Table de Hashage Table d association clé-valeur (Object- Object) à chaque objet est associée une valeur de hashage que l on peut obtenir par la méthode hashcode() de Object si les clés sont de type primitif, les wrapper B. Carré Polytech Lille 8

Hashtable class Hashtable extends Dictionary { void put(object key,object value) throws NullPointerException; Object get(object key); boolean contains(object value) throws NullPointerException; boolean containskey(object key); Object remove(object key); int size(); boolean isempty(); String tostring(); Enumeration elements(); Enumeration keys();... B. Carré Polytech Lille 9

Hashtable : exemple public class NonDisponibleException extends Exception{; public class Ouvrage { protected String titre, auteur; protected boolean emprunte; protected int compteur; // nombre d emprunts public Ouvrage(String tit, String aut) { titre=tit; auteur=aut; public void emprunter() throws NonDisponibleException { if (emprunte) throw new NonDisponibleException(); else {emprunte=true; compteur++; public void rendre() {emprunte=false; public int getcompteur() {return compteur; public String tostring() {return titre+ +auteur; B. Carré Polytech Lille 10

Hashtable : exemple (suite) public class Bibliotheque { protected Hashtable ouvrages = new Hashtable(); public void add(string code, Ouvrage o) {ouvrages.put(code,o); public void listing() {// parcours des cles Enumeration codes = ouvrages.keys(); while (codes.hasmoreelements()) { Object code = codes.nextelement(); System.out.println(code+ : +ouvrages.get(code)); public int compteurtotal() {// parcours des elements int total=0; Enumeration enum = ouvrages.elements(); while (enum.hasmoreelements()) total=total+((ouvrage)enum.nextelement()).getcompteur(); return total; public void emprunter(string code) { try {((Ouvrage)ouvrages.get(code)).emprunter(); catch (NullPointerException ex) { System.out.println( l ouvrage +code+ n existe pas ); catch (NonDisponibleException ex) { System.out.println( ouvrage +code+ non disponible ); B. Carré Polytech Lille 11