[PDF] [PDF] Java Avancé - Cours 1: Concepts - LAMSADE

▷ Le binaire est exécuté directement sur le CPU 10/65 Page 11 Rappels Le paradigme de programmation objet Concepts de la programmation objet Import



Previous PDF Next PDF





[PDF] Programmation avancée en Java Guide - Université Laval

Bonjour et bienvenue au cours IFT-21133, Programmation avancée en Java, section à Le cours Programmation avancée en Java suppose que vous avez déjà suivi les cours http://java sun com/docs/books/tutorial/servlets/index html



[PDF] Java Avancé - Cours 1: Concepts - LAMSADE

▷ Le binaire est exécuté directement sur le CPU 10/65 Page 11 Rappels Le paradigme de programmation objet Concepts de la programmation objet Import



[PDF] Programmation avancée en Java - LACL

Le concept de sous-programme est implémenté, dans les langages C et C++, sous la forme de fonction Puisque Java est un langage orienté objet (presque) pur, 



[PDF] La Programmation en Java - www6inrafr

Java : un langage de programmation orientée objet PremProg, telle qu'elle est donnée dans le cours Le code source d'une classe Fonctions avancées



[PDF] Programmation Orientée Objet avancée avec Java - LACL

Programmation Orientée Objet avancée avec Java I Généricité II Collections III Interface Collection IV Les méthodes de l'interface Collection V La classe



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

Le langage Java est un langage généraliste de programmation synthétisant les principaux lan- javac -d /prog/exos1 -classpath /cours MyProg java e Java Tutorial : A Short Course on the Basics, th Edition, Collectif, Prentice Hall,



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

Le cours de MariePierre Béal C'est un style de programmation où l'on considère que des C:\eclipse\workspace\java-avancé>java ExceptionExample toto



[PDF] Programmation avancée en Java - Samia CHEHBI GAMOURA

Le TD n°8 reprend tous les autres TD du cours JAVA2 Ainsi, sont présentés ci- dessous, tous les codes sources correspondant à l'application construite dans le  



[PDF] Cours programmation- orientée objet en Java - IRIF

Plan du cours □ Introduction: ▫ programmation objet pourquoi? Comment? Un exemple en Java □ Classes et objets (révision) ▫ Méthodes et variables 

[PDF] cours programmation batch

[PDF] cours programmation batch pdf

[PDF] cours projet hec

[PDF] cours protection de l'environnement

[PDF] cours pse bac pro module 10

[PDF] cours psychologie du développement

[PDF] cours psychologie sociale pdf

[PDF] cours psychopathologie l1 psychologie

[PDF] cours puissance 4ème pdf

[PDF] cours quantité de matière

[PDF] cours quantité de matière seconde

[PDF] cours radar pdf

[PDF] cours rayonnement solaire pdf

[PDF] cours recherche d'emploi pdf ofppt

[PDF] cours recherche internet

Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Java Avance

Cours 1 : Concepts

Benjamin Negrevergne

Slides d'apres Florian Sikora

benjamin.negrevergne@dauphine.fr P407

LAMSADE

M1 1/65 Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Objectifs de l'UE

I

Consolider les bases en programmation objet

I

Donner des elements de developpement logiciel

IBuildsystems : Maven

ISCMs (SourceControlManager) : Git

ITesting : Junit

I

Introduire quelques nouveautes

I

Programmation multi-threads

IConstruction fonctionnelles (Java 8)

2/65 Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Prerequis et themes abordes

Prerequis :

I

De bonne bases en programmation imperative!!

I

Notions et vocabulaire de la programmation objet

(e.g. faites une classe qui herite de ArrayList et implementez la methode getSize()

Vu pendant le cours/TD :

I

Concepts, objet, encapsulation

I

Heritage, polymorphisme

I

Classes internes, anonymes...

I

Collections

I

Types parametres

I

Exceptions

I

Enumerations

I

ThreadsI

Maven I Git I

Eclipse

I JUnit I

Shell Unix

I

Quelques notion

d'architecture objet 3/65 Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Bibliographie

I Eective Java 2nd Edition - J. Bloch (1ere ed. traduite mais vieille). TRES BIEN. I

Programmer en Java 6eme Edition - C. Delannoy.

I

Java in a nutshell - D. Flanagan.

I

Thinking in Java - B. Eckel.

I

Programmation concurrente en Java - B. Goetz.

I T^ete la premiere, Design Patterns - E. Freeman et al. ...Meilleure approche : la pratique!! 4/65 Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Deroulement & evaluation

Cours :101.5h

!Exam : 60% de la note de l'UE

TD :141.5h

I

Individuels, a nir chez soit

I

A mettre en ligne sur GitHub

!Contr^ole continu : 10% de la note de l'UE

Projet :

I

Projet de programmation en autonomie et en equipe

I

Groupes de 2 ou 3

I

Livrable : code + doc + rapport + demo

Evaluation du projet : 30% de la note de l'UE

5/65 Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Exemple de projet (2016)

Robombastic :Auteurs : Moacdieh TshilomboI

Conception objet

I

Type parametres

I

Multi-threading

I

Interface graphique

IChargement dynamique d'IAs

pour contr^oler les robots 6/65 Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

ATTENTION!!

I Le code remis est soumis a un outil de detection de plagiat I L'examen de rattrapage compte 100% de la note de l'UE 7/65 Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Cours 1 : Concepts

Rappels...

Le paradigme de programmation objet

Concepts de la programmation objet

Import

Maven 8/65 Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven Java I

Oriente objet

I

Independant de la plateforme (via VM).

I

Semi-compile / semi-interprete.

I

Grosse API standard.

9/65 Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Architecture en C

Code en ASCII!Compilateur!Fichiers objets!Editeur de liens!Fichier binaire. I

Code source compile en chier objets.

I L'editeur de liens lie les objets entre eux pour creer le chier binaire (executable). I

Le binaire est execute directement sur le CPU

10/65 Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Architecture en Java

Code enUnicode!Compilateur!Bytecode.

I Code compile en representation intermediaire (bytecode)I Un JIT (Just In Time Compiler) est appele a l'execution pour generer de l'assembleur depuis le bytecode.I

La machine virtuelle interprete le bytecode.11/65

Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Architecture en Java

Code enUnicode!Compilateur!Bytecode.

I Code compile en representation intermediaire (bytecode)I Un JIT (Just In Time Compiler) est appele a l'execution pour generer de l'assembleur depuis le bytecode.I

La machine h^ote execute l'assembleur.11/65

Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Avantages et inconvenients de la VM

I

Necessite un VM pour executer le programme :

Performance moindre ou delai a l'execution (JIT)

I

Permet la portabilite :le m^eme programme compile peuts'executer sur n'importe quelle plat-forme disposant d'une VM

Java I Facilite le developpement :e.g. le ramasse-miettes (GC) recupere les objets non utilises (= 0 reference sur lui). I Declenche periodiquement et lors d'unnewsi memoire pleine. I

Libere les objets qui ne sont plus references par aucune variable.Faut-il mettre les variables anullpour aider le GC ?Non!

1privatevoid main(){ 2Object a =n ewA() ; 3doSomethingWithA(A) ;4a =n ull; // pas n ecessaire! 5}12/65

Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Avantages et inconvenients de la VM

I

Necessite un VM pour executer le programme :

Performance moindre ou delai a l'execution (JIT)

I

Permet la portabilite :le m^eme programme compile peuts'executer sur n'importe quelle plat-forme disposant d'une VM

Java I Facilite le developpement :e.g. le ramasse-miettes (GC) recupere les objets non utilises (= 0 reference sur lui). I Declenche periodiquement et lors d'unnewsi memoire pleine. I

Libere les objets qui ne sont plus references par aucune variable.Faut-il mettre les variables anullpour aider le GC ?Non!

1privatevoid main(){ 2Object a =n ewA() ; 3doSomethingWithA(A) ;4a =n ull; // pas n ecessaire! 5}12/65

Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Avantages et inconvenients de la VM

I

Necessite un VM pour executer le programme :

Performance moindre ou delai a l'execution (JIT)

I

Permet la portabilite :le m^eme programme compile peuts'executer sur n'importe quelle plat-forme disposant d'une VM

Java I Facilite le developpement :e.g. le ramasse-miettes (GC) recupere les objets non utilises (= 0 reference sur lui). I Declenche periodiquement et lors d'unnewsi memoire pleine. I

Libere les objets qui ne sont plus references par aucune variable.Faut-il mettre les variables anullpour aider le GC ?Non!

1privatevoid main(){ 2Object a =n ewA() ; 3doSomethingWithA(A) ;4a =n ull; // pas n ecessaire! 5}12/65

Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Avantages et inconvenients de la VM

I

Necessite un VM pour executer le programme :

Performance moindre ou delai a l'execution (JIT)

I

Permet la portabilite :le m^eme programme compile peuts'executer sur n'importe quelle plat-forme disposant d'une VM

JavaIFacilite le developpement :e.g. le ramasse-miettes (GC) recupere les objets non utilises (= 0 reference sur lui). IDeclenche periodiquement et lors d'unnewsi memoire pleine. I

Libere les objets qui ne sont plus references par aucune variable.Faut-il mettre les variables anullpour aider le GC ?Oui!

1privatevoid fastRemove( intindex) { 2modCount++ ;3intnumMoved = size - inde x- 1 ; 4if(numMoved > 0) 5System.arraycopy(elementData, index+1, elementData, index,6numMoved) ;7elementData[--size] =null ; // uti le! ! 8}12/65

Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Exemple de programme en Java

I Les programmes Java sont des compositions d'Objets

Exemple : Objet Vec2D1importjava.lang.Math ; 2

3classVec2D { 4privatedouble x ; 5privatedouble y ; 6

7publicVec2D( doublex, double y){ 8this.x = x ;9this.y = y ;10}11

12publicString toString(){ 13return" Vec2D" + x + " ," + y ; 14}15

16publicdouble norm(){ 17returnMath.sqrt( x * x + y * y ) ; 18}19}13/65

Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Types en Java

I Separation entre lestypes primitifs(boolean, int...) et les typesObjets(String, int[], Date...). I Types primitifs manipules par leurvaleur, types objets par reference. 14/65 Rappels...Le pa radigmede p rogrammationobjet Concepts de la p rogrammationobjet I mportMaven

Types primitifs

quotesdbs_dbs50.pdfusesText_50