[PDF] Les bases de la programmation orientée objet avec Java





Previous PDF Next PDF



Initiation à la programmation orientée-objet avec le langage Java

Un programmeur Java écrit son code source sous la forme de classes



Les collections

En Java il existe 3 sortes de structures de données. Les tableaux pré-suppose que les classes des objets stockés ... HashTable



Les bases de la programmation orientée objet avec Java

La conception par classes représentant à la fois les données



Support de cours Java - Structures de données et Programmation

Classes utilitaires de base java.util : Conteneurs et autres utilitaires. Support de cours Java Create a hash table. Map map = new HashMap();.



Support de cours Java - Structures de données Notions en Génie

Classes de définition des moniteurs. javax.management.openmbean. Classes de types ouverts et descripteurs mbean ouverts (“open”).



Implementation and Use of Data Structures in Java Programs

1 fév. 2015 structure implementation and use in a corpus of 62 open-source. Java ... Many classes of Java programs (such as web applications) are.



Apprenez à programmer en Java

24 sept. 2011 Mieux connaitre son environnement Java . ... L'objet Hashtable . ... CTRL + SHIFT + W : fermer toutes les classes Java ouvertes.



Structures de données et algorithmes

2 avr. 2020 Data structures and algorithms in Java Goodrich and Tamassia



INF2220: algorithms and data structures Series 3

Classroom. Exercise 1 (Hash table complexity) What is the complexity of finding order infor- mation such as max



Split-Ordered Lists: Lock-Free Extensible Hash Tables - ORI SHALEV

[2004] have developed a extensible and. “almost wait-free” hashing algorithm based on an open addressing hashing scheme and using only CAS operations. Their 



Anciens PDF des cours - OpenClassrooms

Conscients que les anciens PDF peuvent toujours servir nous les mettons ici à votre disposition Apprenez à programmer en Java 15 9 Mo Télécharger



Stockez et retrouvez des données grâce aux tables de hachage

8 fév 2023 · Les tables de hachage représentent une autre façon de stocker des données Elles sont basées sur les tableaux du langage C Elles permettent de 



[PDF] Initiation à la programmation orientée-objet avec le langage Java

Le programme suivant utilise cette classe pour afficher la date actuelle : import java util Date; public class DateMain { public static void main(String[] args) 



[PDF] Les bases de la programmation orientée objet avec Java - IGM

Compiled from "HelloWorld java" public class HelloWorld extends java lang Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial



[PDF] Support de cours Java

Classes de définition des moniteurs javax management openmbean Classes de types ouverts et descripteurs mbean ouverts (“open”)



[PDF] Structures de données et Programmation Orientée Objet

Classes utilitaires de base java util : Conteneurs et autres utilitaires Support de cours Java Structures de données et Programmation Orientée Objet



[PDF] Hash Table - Colby College

The hashCode() method is implemented in the Object class and therefore each class in Implement chaining hash table (open hash table) using ArrayList



[PDF] Hash table - Algorithms

Java's hash code conventions All Java classes inherit a method hashCode() which returns a 32-bit int Requirement If x equals(y) then (x



[PDF] Hashing - Stony Brook Computer Science

hash code into an index to the hash table Examples of hash functions: Java's root class Object has a hashCode method which returns an integer hash



[PDF] CS200: Hash Tables

Hash Table: nearly-constant-time ? A hash table is an array in which the index of the Probe for some other empty open location in

:

Les bases de la

programmation orientée objet avec Java

Etienne Duris

Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée2Bibliographie et sources ➢Les cours de R

émi Foraxhttp://igm.univmlv.fr/~forax/

➢Le cours de MariePierre B

éalhttp://igm.univmlv.fr/~beal/

➢Java et Internet G. Roussel, E. Duris, N. Bedon et R. Forax. Vuibert 2002. ➢Documentations Java Oracle http://docs.oracle.com/javase/ ➢The Java Language Specification, Third Edition: http://java.sun.com/docs/books/jls/ ➢The Java Virtual Machine Specification, Second Ed: http://java.sun.docs/books/jvms Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée3Il existe diff érents styles de programmation➢Style applicatif ➢Fond

é sur l'évaluation d'expressions qui ne dépendent que de la valeur des arguments, et non de l'

état de la mémoire ➢On parle aussi de programmation fonctionnelle ➢Proche des notations math ématiques, utilise beaucoup la récursivité➢Accepte des arguments, produit un r ésultat (pas d'" effet de bord »)➢Ex: Lisp, Caml, ML, Haskel ➢Style imp

ératif➢Fond

é sur l'exécution d'instructions qui modifient l'état de la m

émoire➢Utilise beaucoup les it

érations et autres structures de contrôle➢Les structures de donn ées sont fondamentales➢Ex: Fortran, C, Pascal Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée4Le style objet ➢C'est un style de programmation o ù l'on considère que des composants autonomes (les objets) disposent de ressources et de moyens d'interactions entreeux. ➢Ces objets repr ésentent des données qui sont modélisées par des classes qui d éfinissent des types ➢un peu comme typedef struct en C ➢En plus de la mani ère dont sont structurés leurs objets, les classes d éfinissent les actions qu'ils peuvent prendre en charge et la mani ère dont ces actions affectent leur état➢ce sont des " messages » ou des " m

éthodes ».

➢Java n'est pas le seul langage objet ➢Simula, Smalltalk, C++, OCaml...

Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée5Les avantages de la programmation objet

➢Les caract éristiques de bases précédemment décrites peuvent ê tre mises en oeuvre dans un style impératif, mais des fonctionnalit és propres au style objet favorisent:➢la programmation modulaire ➢l'abstraction ➢la sp écialisation➢L'objectif est de produire du code ➢facile à développer, à maintenir, à faire évoluer, ➢r éutilisable, tout ou en partie, sans avoir besoin de le dupliquer➢g énérique, et dont les spécialisations sont transparentes Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée6Programmation modulaire ➢La conception par classes, repr ésentant à la fois les données, les actions et les responsabilit

és des objets de cette classe,

permet de bien distinguer et s

éparer les concepts➢Le fait de d

éfinir des " interfaces »,

au sens " moyens et modalit

ésde communication avec l'ext

érieur »permet de cacher les d

étails d'impl

émentation et d'éviterles d

épendances trop fortes➢Tout

ça favorise la réutilisabilité etla composition / d

élégation:

l'assemblage des composants en respectant leurs responsabilit és Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée7L'abstraction et la sp

écialisation➢L'abstraction demande

à séparer la définition (d'un type,

d'une classe, d'une m éthode) de l'implémentation➢Permet d'identifier un mod èle commun à plusieurs composants➢Ce mod

èle commun pourra être partagé via le m

écanisme d'héritage➢La sp

écialisation traite

des cas particuliers, mais elle doit autant que possible rester transparente: ➢C'est possible gr

âce à

la dérivation? Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée8Le langage Java: ➢est n é en 1995 chez Sun Microsystems ➢Version actuelle Java 8, actuellement Oracle ➢est orient

é objet➢est fortement typ

é➢Toute variable doit

être déclarée avec un type➢Le compilateur v

érifie que les utilisations des variables sont compatibles avec leur type (notamment via un soustypage correct)

➢Les types sont d'une part fournis par le langage, mais

également par la d

éfinition des classes➢est compil

é➢En bytecode, i.e., code interm

édiaire indépendant de la machine➢est interpr

été ➢Le bytecode est interp

été par une machine virtuelle Java

Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée9Premier exemple ➢Dans un fichier de nom HelloWorld.java ➢R ègle: toute classe publique doit être dans un fichier qui a le m

ême nom que la classe➢R

ègle: tout code doit être à l'intérieur d'une classe➢Ç a définit une classe, qui est une unité de compilation➢Comme il y a une m éthode main, cette classe est " exécutable »public class HelloWorld { /* Un style de commentaire sur plusieurs lignes. */ public static void main(String[] args) { // Un commentaire sur une seule ligne

System.out.println("Bonjour à vous les IR1!");

Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée10Compilation, bytecode et JVM ➢Compilation du langage source > ex

écution du bytecodeFichier HelloWorld.java

public class HelloWorld { /* Un style de commentaire sur plusieurs lignes. */ public static void main(String[] args) { // Un commentaire sur une seule ligne

System.out.println("Bonjour

à vous les IR1!"); }

javac HelloWorld.java

Fichier HelloWorld.class

Compiled from "HelloWorld.java"

public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code:

0:aload_0

1:invokespecial#1; //Method java/lang/Object."":()V

4:return

public static void main(java.lang.String[]); Code:

0:getstatic#2; //Field java/lang/System.out:Ljava/io/PrintStream;

3:ldc#3; //String Bonjour

à vous les IR1! 5:invokevirtual#4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V

8:return

}java HelloWorld

Compilation

(une seule fois)Interpr étation / exécution (write once, run everywhere)Linux

Java Virtual MachinePileTasBonjour

à vous les IR1!Windows

Java Virtual MachinePileTasBonjour

à vous les IR1!java HelloWorld

Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée11Le bytecode ➢Le langage source Java est d

éfini par la JLS (Java Language

Specification)

éditée par SunOracle➢Dans sa syntaxe et sa s émantique➢Le code source d'une classe contenue dans un fichier est compil

é avec la commande javac

➢Cela produit un code interm édiaire, appelé bytecode, qui est le " langage machine » de la machine virtuelle Java ➢Le bytecode d'une classe est destin

é à être chargé par une

machine virtuelle qui doit l'ex

écuter avec la comande java

➢Soit par interpr étation, soit par compilation " juste à temps » (justintime ou JIT) ➢L'argument est le nom de la classe (sans l'extension .class) Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée12La machine virtuelle (JVM) ➢Son r ôle est d'abstraire le comportement d'une machine ➢Pour le rendre le + possible ind épendant de la plateforme➢Son comportement est d éfini par la JVM Spec édité par SunOracle ➢Une JVM est une impl

émentation de cette spec➢Qui peut

être adaptée à une plateforme d'accueil (Windows, Linux, Mac...) ➢Qui peut

être développée par Sun (HotSpot: open source GPL depuis 2006) ou par d'autres: IBM, Jikes, etc.

➢Une JVM traduit le bytecode dans le langage machine de la plateforme d'accueil

Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée13Java: un langage et une plateforme

➢Dans la technologie Java, on a donc besoin ➢Du langage de programmation et du compilateur ➢Et plein de commandes bien utiles: jar, javap, javadoc, etc ➢De la JVM et des APIs (Application Programming Interfaces) regroup ées dans une " plateforme »:➢Java SE (Java Platform, Standard Edition): Java SE 6 pour applications classiques, desktop ➢Java EE (Java Platform, Enterprise Edition): Java EE 6 pour d

évelopper et déployer des applications serveur, Web services, etc.➢Java ME (Java Platform, Micro Edition): J2ME pour les applications

embarqu ées, PDA, téléphones, etc.➢Si on veut juste ex

écuter, il suffit du JRE (Java Runtime

Execution) par opposition au JDK (Java Developpement Kit)

Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée14Java SE 7 Plateform at a Glance (http://docs.oracle.com/javase/7/docs/)

Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée15Le langage Java ➢Les variables, les op érateurs, les expressions, instructions, blocs, contr ôle de flot sont très proches de ceux du C➢Les exceptions sont une nouveaut é➢Les types primitifs ont une taille et une repr

ésentation normée➢S'y ajoutent des sp

écificités syntaxiques liées à la programmation objet, aux classes, à l'héritage...➢Un style de nommage (tr ès fortement) conseillé➢Style " chameau » (CamelCase) pour les indentificateurs ➢Premi ère majuscule pour les classes (class HelloWorld) ➢Premi ère minuscule pour les variables/champs et les fonctions/m

éthodes (radius, getRadius())

➢Tout en majuscule pour les constantes (MAX_SIZE) Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée16Classes et objets ➢Une classe Toto repr

ésente plusieurs choses:➢Une unit

é de compilation➢La compilation d'un programme qui contient une classe Toto produira un fichier Toto.class ➢La d

éfinition du type Toto

➢Il peut servir

à déclarer des variables comme Toto t;

➢Un moule pour la cr

éation d'objets de type Toto

➢Cela n écessite en général la définition d'un ensemble de champs (fields) d écrivant l'état d'un objet de ce type et d'un ensemble de m

éthodes définissant son comportement ou ses focntionnalités➢Chaque objet de la classe Toto

➢Dispose de son propre

état (la valeur de ses champs)

➢R épond au même comportement (via les méthodes de la classe) Etienne DURIS © ESIPEMLV Université ParisEst MarnelaVallée17Structure d'une classe ➢Une classe est d éfinie par son nom et son package d'appartenance (ex: java.lang.String) ➢En l'absence de directive, les classes sont dans un package dit " par d éfaut » (i.e., pas de packge).➢Une classe peut contenir trois sortes de membres ➢Des champs (fields) ou attributs ➢Des m

éthodes (methods) et constructeurs

➢Des classes internes ➢Les membres statiques (static) sont dits membres de classe ➢Ils sont d

éfinis sur la classe et non sur les objets➢Les membres non statiques (ou d'instance) ne peuvent exister

quotesdbs_dbs16.pdfusesText_22
[PDF] guerre de tranchées date

[PDF] exercices corrigés sur les collections en java pdf

[PDF] java liste vide

[PDF] cours php pdf complet

[PDF] parcours 3éme année du cycle secondaire collégial

[PDF] référentiel parcours avenir

[PDF] contraintes du parcours avenir

[PDF] parcours avenir folios

[PDF] les grandes phases de la seconde guerre mondiale

[PDF] epi parcours avenir stage

[PDF] l'immigration irlandaise aux etats unis

[PDF] immigration aux etats unis au 20eme siecle

[PDF] intégration irlandaise aux etats unis

[PDF] immigration aux etats unis d'amérique

[PDF] célébrité immigré aux usa