0% ont trouvé ce document utile (0 vote)
97 vues46 pages

Introduction à la Programmation Java OO

Transféré par

achraf.antri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
97 vues46 pages

Introduction à la Programmation Java OO

Transféré par

achraf.antri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation OO en Java

Hassen Lazrag
Docteur ingénieur en informatique: Iteam University
Objectifs du cours

 Décrire les éléments-clé de la plate-forme Java


 Prendre en mains l’environnement de développement Eclipse/
IntellIj
 Décrire la syntaxe du langage
 Comprendre le paradigme OO et utiliser Java pour le mettre en
œuvre
 Compiler et exécuter des applications Java

Cours Java 2024 Hassen Lazrag


Programme

 C’est quoi java?


 Programmation orientée Objet Java
 Objet et Classe
 Héritage et accessibilité
 Polymorphisme
 Interfaces graphique javaFX
 Accès aux bases de données

Cours Java 2024 Hassen Lazrag


Programmation OO en Java

Chapitre I: Introduction – C’est quoi java?


Contenu du chapitre

 Paradigme de programmation
 Qu’est-ce que Java ?
 Java comme langage de programmation
 La plateforme Java
 La Java Virtual Machine (JVM)
 Les interfaces de programmation d’application (API)
 Déploiement d’un programme
 Les versions de Java

Cours Java 2024 Hassen Lazrag


Paradigme de programmation

Cours Java 2024 Hassen Lazrag


Paradigme de programmation

Le paradigme de programmation est la façon d'approcher


la programmation informatique et de formuler les
solutions aux problèmes et leur formalisation dans un
langage de programmation approprié.

Cours Java 2024 Hassen Lazrag


Paradigme de programmation

Paradigmes de
Paradigme impératif Paradigme déclaratif
programmation

 Programmation Orientée Objet  Programmation Fonctionnelle


 Programmation Procédurale  Programmation Logique

 Approche de traitement  Approche de traitement de

parallèle base de données

 Déclaratif
 Fonctionnel
 Orienté objet
 Piloté par les événements ….

Cours Java 2024 Hassen Lazrag


Impératif vs Déclaratif

Impérative Déclarative
Comment ? Quoi ?

Cours Java 2024 Hassen Lazrag


Impératif vs Déclaratif

Paradigme de programmation impérative Paradigme de programmation déclarative


« Déroulement ? » « Objectif ? »
Traditionnel Nouvelle tendance
Un programme élaboré selon ce paradigme se Un programme élaboré selon ce paradigme se compose
compose d’une liste d’instructions indiquant à d’instructions sur la manière dont le programme doit
l’ordinateur l’ordre dans lequel il doit calculer et procéder en fonction d’une saisie. Les calculs sont
exécuter des actions. exécutés par la manipulation de valeurs. Le
déroulement est contrôlé par une procédure de
récurrence.
Son nom vient du latin « imperare », soit Son nom vient sur latin « declarare », soit « désigner ».
« ordonner ».
Les étapes de résolution souhaitées sont Le résultat souhaité est énoncé.
énoncées.
Les langages de programmation typiques sont Les langages de programmation typiques sont Lisp, ML,
Haskell, F#, Prolog et Oz.
C, C++, Python, Java, ainsi que tous les
langages d’assemblage.

Cours Java 2024 Hassen Lazrag


C’es quoi java?

Cours Java 2024 Hassen Lazrag


C’est quoi java?

Cours Java 2024 Hassen Lazrag


Qu’est-ce que Java ?

 Java est un langage de programmation


 Conçu par James Gosling en 1990 à Sun Microsystems
 En 2009, Sun est racheté par Oracle Corporation
 Un programme Java est compilé et interprété
 Java est une plateforme
 La plateforme Java, uniquement software, est exécutée sur la plateforme
du système d’exploitation
 La « Java Platform » est constituée de :
 La « Java Virtual Machine » (JVM)
 Des APIs Java

Cours Java 2024 Hassen Lazrag


Qu’est-ce que Java ?

 Langage de programmation orienté objet (Classe, Objet, Héritage,


Encapsulation et Polymorphisme)
 Avec java on peut créer des application multiplateformes.
 Les applications java sont portables. C’est-à-dire, on peut créer une
application java dans une plateforme donnée et on peut l’exécuter sur
n’importe quelle autre plateforme.
 Le principe de java est : Write Once Run Every Where
 Open source: On peut récupérer le code source de java. Ce qui permet
aux développeurs, en cas de besoin, de développer ou modifier des
fonctionnalités de java.

Cours Java 2024 Hassen Lazrag


Qu’est-ce que Java ?

 Java est utilisé pour créer :


 Des applications Desktop
 Des applications pour les smart phones et les applications embarquées
 Des application JEE (Java Entreprise Edition)
 Pour créer une application java, il faut installer un kit de
développement java
 JSDK : Java Standard Developpement Kit, pour développer les application
DeskTop
 JME : Java Mobile Edition, pour développer les applications pour les
téléphones potables (smartphones)
 JEE : Java Entreprise Edition, pour développer les applications qui vont
s’exécuter dans un serveur d’application JEE (Web Sphere Web Logic,
JBoss).

Cours Java 2024 Hassen Lazrag


Langage de programmation

Cours Java 2024 Hassen Lazrag


Java comme langage de programmation

 Java est un langage:


 Orienté objet
 Fortement typé avec classes
 Un environnement d’exécution (JRE) :
 Java Runtime Envirenement
 une machine virtuelle et un ensemble de bibliothèques
 Un environnement de développement (JDK) :
 Java Developpement Kit
 Un compilateur et un ensemble d’outils

Cours Java 2024 Hassen Lazrag


Simple et orienté objet

 Java est un langage de programmation simple


 Langage de programmation au même titre que
C/C++/Perl/Smalltalk/Fortran mais plus simple
 Les aspects fondamentaux du langage sont rapidement assimilés
 Java est orienté objet :
 La technologie OO après un moment de gestation est maintenant
complètement intégrée
 En java, tout est un objet (à la différence du C++ par ex.)
 Simple aussi parce qu’il comporte un grand nombre d’objets
prédéfinis pour l’utilisateur
 Java est familier pour les programmeurs C++

Cours Java 2024 Hassen Lazrag


Neutre architecturalement

 Il existe une grande diversité de systèmes


d’exploitation
[Link]
 Le compilateur Java génère un bytecode,
c’est à dire un format intermédiaire, neutre
architecturalement, conçu pour faire transiter
efficacement le code vers des hardware Java Compiler
différents et/ou plateformes différentes

 Le bytecode ne peut-être interprété que par


le processeur de la JVM
[Link]
= bytecode

JVM JVM JVM


Mac Windows Unix

Cours Java 2024 Hassen Lazrag


Plateforme Java

Cours Java 2024 Hassen Lazrag


Java comme Plateforme
 Une plateforme est un environnement logiciel ou matériel dans lequel un
programme s'exécute (Microsoft Windows, Linux, Mac et Solaris).
 La plate-forme Java n'est qu'une plate-forme logicielle qui s'exécute sur d'autres
plates-formes matérielles.
 La plate-forme Java est composée d'une hiérarchie de composants illustrée dans la
figure ci-dessous.

Java Plateform

Java Development Kit (JDK)

Java Runtime Java Langage Specification Java Developments


Environment (JRE) (Java syntax and semantics ) Tools (Java compiler, Class File, ..)

Java Class
JVM Java API Libraries

Cours Java 2024 Hassen Lazrag


JDK

Cours Java 2024 Hassen Lazrag


Java Developpement Kit

 Le JDK est un environnement de développement permettant de créer des


applications Java à l'aide du langage de programmation Java.
 Le JDK est un ensemble d’outils qui contient tout ce qui sera nécessaire
pour développer et exécuter une application Java. Il comprend:
 le Java Run-time Environment (JRE)
 des outils de développement comme le compilateur (javac), le loader
d'applications Java (java), le débogueur Java, etc.

Cours Java 2024 Hassen Lazrag


JRE

Cours Java 2024 Hassen Lazrag


Java Run-time Environment

 Le Java Run-time Environment (JRE), également connu sous le nom de


Java Run-time, fait partie du Java Development Kit (JDK).
 Le JRE fournit la configuration minimale requise pour l'exécution d'une
application Java ; il se compose:
 De la machine virtuelle Java (JVM),
 Des classes principales et des fichiers de support

Cours Java 2024 Hassen Lazrag


Machine virtuelle

Cours Java 2024 Hassen Lazrag


Java Virtual Machine

 JVM est une machine virtuelle abstraite. Il est chargé de convertir le bytecode en
langage machine et d'exécuter le programme Java.

 JVM est une machine virtuelle qui fonctionne au-dessus du système d'exploitation

 Lit le bytecode compilé (indépendant de la plateforme)

 Après avoir compiler l'application Java (.java) afin qu'elle puisse être convertie au
format bytecode (fichier .class). Qui sera ensuite utilisé par JVM pour exécuter
l'application Java.

Cours Java 2024 Hassen Lazrag


Java Runtime Environment

Trois tâches principales :


 Charger le code (class
loader)
 Vérifier le code (bytecode
verifier)
 Exécuter le code (runtime
interpreter)

Cours Java 2024 Hassen Lazrag


API

Cours Java 2024 Hassen Lazrag


Java Application Programming Interface (API)

 L’API Java est structuré en libraires (packages). Les packages


comprennent des ensembles fonctionnels de composants (classes).
 Le noyau (core) de l’API Java (incluse dans toute implémentation
complète de la plateforme Java) comprend notamment :
 Essentials (data types, objects, string, array, vector, I/O,date,…)
 Applet
 Abstract Windowing Toolkit (AWT)
 Basic Networking (URL, Socket –TCP or UDP-,IP)
 Evolved Networking (Remote Method Invocation)
 Internationalization
 Security
 …..

Cours Java 2024 Hassen Lazrag


Déploiement d’un programme

Cours Java 2024 Hassen Lazrag


Paradigme classique de la compilation

Cours Java 2024 Hassen Lazrag


Paradigme classique de la compilation

MyProgram.c

Exécuté une seule fois Génère du code natif directement


Mais différent pour Compiler exécutable, mais spécifique à
chaque environnement chaque environnement

MyProgram.o

010110…

Cours Java 2024 Hassen Lazrag


Nouvelle paradigme de la compilation

Cours Java 2024 Hassen Lazrag


Java- JDK, JRE, JVM and JIT

Cours Java 2024 Hassen Lazrag


Changement de la vision traditionnelle de la compilation

 Chaque programme est compilé et interprété


 « Write once run everywhere »

[Link]

Traduit le programme en un code intermédiaire


Exécuté une seule fois Compiler Appelé bytecode – indépendant de la machine

[Link]

Chaque fois que le


programme est exécuté Interpreter Lit le bytecode et exécute sur la machine

010110…

Cours Java 2024 Hassen Lazrag


Changement de la vision traditionnelle de la compilation

Cours Java 2024 Hassen Lazrag


Les versions de java

Cours Java 2024 Hassen Lazrag


Java 2 Standard Edition

Cours Java 2024 Hassen Lazrag


Java évolue tout le temps

 Java n’est pas un langage normalisé et il continu d’évoluer. Cette évolution


se fait en ajoutant de nouvelle API, mais aussi en modifiant la machine
virtuelle.

 L’ensemble de ces modifications est géré par le JCP (Java Community


Process ; http ://[Link]/) dans lequel Sun continue de tenir une place
prépondérante.

 Il peut alors être nécessaire d’identifier une version précise du compilateur


et/ou de la machine virtuelle : Ça n’est pas simple.

 La numérotation des versions :


1.0 −> 1.1 −> 1.2 −> 1.3 −>1.4 −>5.0 −>6.0 −>7.08.0 11.0  14.0, ..17.0…21
Toutes ces versions : Java 2

Cours Java 2024 Hassen Lazrag


Java 2 Standard Edition J2SE

L’outil de base : le JDK (Java Development Kit) de SUN :


 [Link]
 gratuit.
 Dernière version : 8, 11, 14. 15. 17, …21
 Comprend de nombreux outils :
le compilateur.
le compilateur à la volé "JIT".
le débogueur.
le générateur de documentation.

Cours Java 2024 Hassen Lazrag


QCM

Cours Java 2024 Hassen Lazrag


QCM(1/4)

Répondez aux questions en cochant la réponse.


1. Quel est le type de programmation le plus ancien ?
□ Programmation orientée objet
□ Programmation procédurale
□ Programmation modulaire
2. La programmation modulaire est basée sur
□ modules
□ procédures
□ objets
3. un module est un ensemble de
□ procédure
□ sous programmes et des données
□ programmes
4. La meilleure façon de décrire les systèmes informatiques est de se fonder sur :
□ ce qu’ils font
□ les modules qu’ils manipulent
□ les objets qu’ils manipulent.

Cours Java 2024 Hassen Lazrag


QCM(2/4)

5. L’expérience a montré que :


□ les traitements sont ce qu’il y a de plus stable dans la vie d’un programme.
□ les données sont ce qu’il y a de plus stable dans la vie d’un programme.
□ il est intéressant d’architecturer le programme autour de ses traitements.
6. Quel est le plus ancien des langages orientés objets ?
□ SmallTalk
□ C++
□ Simula
7. Les langages objets ont été inventés
□ Au début des années 70
□ A la fin des années 70
□ A la fin des années 60
8. Java
□ Est un langage interprété
□ Est un langage compilé
□ Est un langage interprété et compilé

Cours Java 2024 Hassen Lazrag


QCM(3/4)

9. JRE est l’acronyme de


□ Java Run Time Execution
□ Java Run Time Environement
□ Java RunTime Entreprise
10. Sur la machine où doit s’exécuter un programme Java, nous avons besoin de
□ JDK+JRE
□ JRE seulement
□ JDK seulement
11. Java est un langage développé par
□ Hewlett-Packard
□ Sun Microsystems
□ Microsoft
□ Oracle
12. A propos de Java, on prétend que (3 réponses correctes)
□ Java est un langage portable
□ Java est un langage orienté objet.
□ Java est un langage propre à une machine
□ Java est un langage sécurisé

Cours Java 2024 Hassen Lazrag


QCM(4/4)

13. Quand un programme java est compilé, le fichier généré possède l'extension
□ jav
□ exe
□ class
□ java
14. Qu’est ce qui permet la portabilité de java
□ le JRE
□ la JVM
□ le JDK
15. Après compilation du fichier « [Link] », parmi les instructions suivantes, laquelle va
permettre de « l’exécuter » :
□ java Exame
□ javac examen
□ java [Link]
□ java examen

Cours Java 2024 Hassen Lazrag

Vous aimerez peut-être aussi