SlideShare une entreprise Scribd logo
1  sur  21
Programmation Orientée Objet
Application avec JAVA
DGIMA
GINF-1
Application avec JAVA
2017-2018
Mouna Torjmen Khemakhem
Plan du cours
• Introduction
• Chapitre 1: Classe et Objet
• Chapitre 2: Encapsulation
•• Chapitre 3: Les collections
• Chapitre 4: Héritage et polymorphisme
• Chapitre 5: Classes abstraites et interfaces
• Chapitre 6: Les exceptions
Introduction
Mouna Torjmen Khemakhem
Notion : Orienté Objet
• La programmation orientée objet se base sur une
approche de conception et de développement de
logicielslogiciels
• Représenter les éléments du monde réel par des entités
informatiques appelés "objets" en adoptant un haut
niveau d'abstraction.
4
Mouna Torjmen Khemakhem
Notion : Orienté Objet
• Conception et Développement d'un logiciel
5
Mouna Torjmen Khemakhem
Notion : Orienté Objet
• Approche procédurale :
"Que doit faire mon programme ? "
• Approche orientée-objet :
"De quoi doit être composé mon programme ?"
Mouna Torjmen Khemakhem
6
Notion : Orienté Objet
•Des objets similaires peuvent être informatiquement
décrits par une même abstraction : une classe
même structure de données et méthodes de
traitement
valeurs différentes pour chaque objet
Mouna Torjmen Khemakhem
7
Notion : Orienté Objet
Classe Livre
-titre
-auteur
Classe Journal
-titre
Classe Employé
-nom
-prénom
-statut
Classe Lecteur
-nom
-prénom
8
Mouna Torjmen Khemakhem
• Exemples:
Notion : Orienté Objet
Mouna Torjmen Khemakhem
9
JAVA : La plateforme
• Un langage de programmation orienté objet
crée par Sun MicroSystems
• Présenté officiellement en 23 Mai 1995
au SunWord.
• Java est multiplateforme
• Java est sous Licence libre depuis 13 Novembre 2006.
• En 2009, Oracle a acheté Sun MicroSystems : le logo Oracle
apparaît dans la documentation Java
• Avec JAVA:
des applications, sous forme de fenêtre ou de console ;
des applets
des applications pour appareils mobiles, avec J2ME et Android;
et bien d'autres ! J2EE, JMF, J3D pour la 3D... 10
Mouna Torjmen Khemakhem
JAVA: classe
• Les briques de constructions d’un programme JAVA sont les
classes
LES ATTRIBUTS :
Les attributs représentent la
description des données
Partie statique les données (Propriétés)
description des données
propres à chaque classe d'objets
le code les manipulant
(Méthodes)
Classe
LES METHODES :
Les méthodes représentent
l'ensemble des actions,
procédures, fonctions ou
opérations que l'on
peut associer à une classe
Partie dynamique
11
Mouna Torjmen Khemakhem
Programme JAVA
Un programme Java est compilé et interprété
Compilé
-le code source est, directement,
interprété sans phase de compilation,Compilé
-le code source est soumis à un
compilateur, pour en faire un fichier
binaire compréhensible par un
microprocesseur (une sorte de pré-
fichier .exe)
Interprété
interprété sans phase de compilation,
et c'est l'interprète qui exécute ce
code source, qu'il interprète à la
volée.(JVM)
12
Mouna Torjmen Khemakhem
Programme JAVA
public class Hello {
public static void main (String args[ ]) {
System.out.println (" Hello World ! ");
}
}
Hello.java
javac Hello.javajavac Hello.java
java Hello
Hello.class
Fichier source
ByteCode
Code exécutable
--------------
--------------
13
Mouna Torjmen Khemakhem
Programme JAVA
L'interpréteur Java s'appelle machine virtuelle Java (JVM)
•Une machine virtuelle est un ordinateur fictif s’exécutant sur un
ordinateur réel :
possède un langage natif propre et traduit un programme écrit
dans ce langage vers le langage natif de l’ordinateur.
Définit les spécifications hardware de la plateforme
Lit le bytecode compilé (indépendant de la plateforme)
14
Mouna Torjmen Khemakhem
Versions java
• JDK 1.0 (January 23, 1996)
• JDK 1.1 (February 19, 1997)
• J2SE 1.2 (December 8, 1998)
• J2SE 1.3 (May 8, 2000)
• J2SE 1.4 (February 6, 2002)• J2SE 1.4 (February 6, 2002)
• J2EE 5.0 (September 30, 2004)
• Java SE 6 (December 11, 2006)
• Java SE 7 (July 28, 2011)
• Java 8 (March 18, 2014)
• Java SE 9 (September 21, 2017)
15
Mouna Torjmen Khemakhem
Identificateurs
• Nommer les classes, les variables, les méthodes, ...
• Un identificateur Java
est de longueur quelconque
commence par une lettre Unicode
peut ensuite contenir des lettres ou des chiffres ou le caractère
souligné«_ »
ne doit pas être un mot réservé du langage (mot clé) (if, for, true, … )
• Les caractères suivants sont autorisés pour construire un identificateur Java :
"$" , "_" , "μ" et les lettres accentuées.
[a..z, A..Z, $, _, μ ]{a..z, A..Z, $, _, μ, 0..9, Unicode}
16
Mouna Torjmen Khemakhem
Les règles de nommage
• Classe :
1ère lettre en majuscule
Mélange de minuscule, majuscule avec la première lettre de chaque mot en
majuscule
Donner des noms simples et descriptifs
Packages• Packages
Tout en minuscule.
Utiliser seulement [a-z], [0-9] et le point '.': Ne pas utiliser de tiret '-',
d'underscore '_', d'espace, ou d'autres caractères ($, *, accents, ...).
• Constante:
Les constantes sont en majuscules et les mots sont séparés par
le caractère souligné« _ »: UNE_CONSTANTE
17
Mouna Torjmen Khemakhem
IDE, SDK, JDK, JRE
• On développe, généralement, un programme
JAVA en utilisant un IDE,
• Afin de pouvoir créer une application JAVA• Afin de pouvoir créer une application JAVA
consistante, on a besoin du JDK,
• Pour tester et lancer le code écrit, on doit,
nécessairement, disposer du JRE.
18
Mouna Torjmen Khemakhem
IDE, SDK, JDK, JRE
IDE
(Integrated
Development
Environment)
Un programme regroupant un ensemble d'outils pour le
développement de logiciels.
En général, un IDE regroupe un éditeur de texte, un compilateur,
des outils automatiques de fabrication, et souvent un débogueur.
(Exp: Eclipse, Netbeans)
SDK
(Software
Development Kit)
Ce kit est composé d'un JRE, d'un compilateur et de nombreux
programmes utiles, des exemples de programmes Java, les
sources de toutes les classes de l'api.
19
Mouna Torjmen Khemakhem
IDE, SDK, JDK, JRE
JRE
(Java Runtime
Environment)
L’environnement qui permet d'exécuter les applications java,
Il est constitué de la JVM en particulier (Java Virtual Machine).
Environment)
JDK
(Java Development
Kit)
Outils permettant de développer, compiler (javac), débuguer (jdb)
et exécuter un programme java.
Il y a aussi des outils d'archivage (jar), de génération de
documentation (javadoc).
20
Mouna Torjmen Khemakhem
Environnement de
développement intégré (EDI)
• Exemple : Eclipse, Netbeans, Jcreator, …
• La compilation se fait implicitement lorsque il y a des
changements dans les fichiers sources.
• L'interprétation se lance graphiquement avec le bouton
Run.
• Le résultat apparaît dans un console intégré à l'EDI.
21
Mouna Torjmen Khemakhem

Contenu connexe

Tendances

Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessZakaria Bouazza
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java HéritageNadaBenLatifa
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1vangogue
 
Développement d'un forum de discussion
Développement d'un forum de discussionDéveloppement d'un forum de discussion
Développement d'un forum de discussionYoussef NIDABRAHIM
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partiekadzaki
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étudeDonia Hammami
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsMohamed Ayoub OUERTATANI
 
POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 ExceptionsMouna Torjmen
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI Heithem Abbes
 
Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionMohammed Amine Mostefai
 
Notes de cours et tp - Administation Systèmes
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes Ikram Benabdelouahab
 

Tendances (20)

Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified Process
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
Cours java
Cours javaCours java
Cours java
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1
 
Développement d'un forum de discussion
Développement d'un forum de discussionDéveloppement d'un forum de discussion
Développement d'un forum de discussion
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
 
POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 Exceptions
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Java RMI
Java RMIJava RMI
Java RMI
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Développement Web - Module 1 - Introduction
Développement Web - Module 1 - IntroductionDéveloppement Web - Module 1 - Introduction
Développement Web - Module 1 - Introduction
 
Notes de cours et tp - Administation Systèmes
Notes de cours et tp  - Administation Systèmes Notes de cours et tp  - Administation Systèmes
Notes de cours et tp - Administation Systèmes
 

Similaire à POO Java Introduction

Seance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptxSeance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptxRihabBENLAMINE
 
Formation JAVA (1)
Formation JAVA (1)Formation JAVA (1)
Formation JAVA (1)Ahmed Charef
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeformationobjetdirect
 
Java 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchJava 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchTarek Halloul
 
Cours VB 2012 seance 1
Cours VB 2012 seance 1Cours VB 2012 seance 1
Cours VB 2012 seance 1ISIG
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'artInes Ouaz
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro javaAmel Morchdi
 
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptxRihabBENLAMINE
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation Microsoft
 
Javascript & tools
Javascript & toolsJavascript & tools
Javascript & toolsSlim Soussi
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdfOmbotimbe Salifou
 

Similaire à POO Java Introduction (20)

Seance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptxSeance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptx
 
Formation JAVA (1)
Formation JAVA (1)Formation JAVA (1)
Formation JAVA (1)
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonome
 
Java 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchJava 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuch
 
Cours VB 2012 seance 1
Cours VB 2012 seance 1Cours VB 2012 seance 1
Cours VB 2012 seance 1
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro java
 
4711538.pptx
4711538.pptx4711538.pptx
4711538.pptx
 
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
 
Programmation Java
Programmation JavaProgrammation Java
Programmation Java
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation
 
Javascript & tools
Javascript & toolsJavascript & tools
Javascript & tools
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
 
Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 
Introduction à Java
Introduction à JavaIntroduction à Java
Introduction à Java
 
POO-Cours.pdf
POO-Cours.pdfPOO-Cours.pdf
POO-Cours.pdf
 
Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
 
Javaoop
JavaoopJavaoop
Javaoop
 
Certification java oca
Certification java ocaCertification java oca
Certification java oca
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
 

Plus de Mouna Torjmen

POO Java Chapitre 3 Collections
POO Java Chapitre 3 CollectionsPOO Java Chapitre 3 Collections
POO Java Chapitre 3 CollectionsMouna Torjmen
 
Apprentissage Par Projet APP
Apprentissage Par Projet APPApprentissage Par Projet APP
Apprentissage Par Projet APPMouna Torjmen
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introductionMouna Torjmen
 

Plus de Mouna Torjmen (7)

POO Java Chapitre 3 Collections
POO Java Chapitre 3 CollectionsPOO Java Chapitre 3 Collections
POO Java Chapitre 3 Collections
 
TIC & E-Learning
TIC & E-LearningTIC & E-Learning
TIC & E-Learning
 
Apprentissage Par Projet APP
Apprentissage Par Projet APPApprentissage Par Projet APP
Apprentissage Par Projet APP
 
Chapitre 4 no sql
Chapitre 4 no sqlChapitre 4 no sql
Chapitre 4 no sql
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introduction
 

Dernier

Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésSana REFAI
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdfSoukainaMounawir
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 

Dernier (7)

Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigés
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdf
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 

POO Java Introduction

  • 1. Programmation Orientée Objet Application avec JAVA DGIMA GINF-1 Application avec JAVA 2017-2018 Mouna Torjmen Khemakhem
  • 2. Plan du cours • Introduction • Chapitre 1: Classe et Objet • Chapitre 2: Encapsulation •• Chapitre 3: Les collections • Chapitre 4: Héritage et polymorphisme • Chapitre 5: Classes abstraites et interfaces • Chapitre 6: Les exceptions
  • 4. Notion : Orienté Objet • La programmation orientée objet se base sur une approche de conception et de développement de logicielslogiciels • Représenter les éléments du monde réel par des entités informatiques appelés "objets" en adoptant un haut niveau d'abstraction. 4 Mouna Torjmen Khemakhem
  • 5. Notion : Orienté Objet • Conception et Développement d'un logiciel 5 Mouna Torjmen Khemakhem
  • 6. Notion : Orienté Objet • Approche procédurale : "Que doit faire mon programme ? " • Approche orientée-objet : "De quoi doit être composé mon programme ?" Mouna Torjmen Khemakhem 6
  • 7. Notion : Orienté Objet •Des objets similaires peuvent être informatiquement décrits par une même abstraction : une classe même structure de données et méthodes de traitement valeurs différentes pour chaque objet Mouna Torjmen Khemakhem 7
  • 8. Notion : Orienté Objet Classe Livre -titre -auteur Classe Journal -titre Classe Employé -nom -prénom -statut Classe Lecteur -nom -prénom 8 Mouna Torjmen Khemakhem
  • 9. • Exemples: Notion : Orienté Objet Mouna Torjmen Khemakhem 9
  • 10. JAVA : La plateforme • Un langage de programmation orienté objet crée par Sun MicroSystems • Présenté officiellement en 23 Mai 1995 au SunWord. • Java est multiplateforme • Java est sous Licence libre depuis 13 Novembre 2006. • En 2009, Oracle a acheté Sun MicroSystems : le logo Oracle apparaît dans la documentation Java • Avec JAVA: des applications, sous forme de fenêtre ou de console ; des applets des applications pour appareils mobiles, avec J2ME et Android; et bien d'autres ! J2EE, JMF, J3D pour la 3D... 10 Mouna Torjmen Khemakhem
  • 11. JAVA: classe • Les briques de constructions d’un programme JAVA sont les classes LES ATTRIBUTS : Les attributs représentent la description des données Partie statique les données (Propriétés) description des données propres à chaque classe d'objets le code les manipulant (Méthodes) Classe LES METHODES : Les méthodes représentent l'ensemble des actions, procédures, fonctions ou opérations que l'on peut associer à une classe Partie dynamique 11 Mouna Torjmen Khemakhem
  • 12. Programme JAVA Un programme Java est compilé et interprété Compilé -le code source est, directement, interprété sans phase de compilation,Compilé -le code source est soumis à un compilateur, pour en faire un fichier binaire compréhensible par un microprocesseur (une sorte de pré- fichier .exe) Interprété interprété sans phase de compilation, et c'est l'interprète qui exécute ce code source, qu'il interprète à la volée.(JVM) 12 Mouna Torjmen Khemakhem
  • 13. Programme JAVA public class Hello { public static void main (String args[ ]) { System.out.println (" Hello World ! "); } } Hello.java javac Hello.javajavac Hello.java java Hello Hello.class Fichier source ByteCode Code exécutable -------------- -------------- 13 Mouna Torjmen Khemakhem
  • 14. Programme JAVA L'interpréteur Java s'appelle machine virtuelle Java (JVM) •Une machine virtuelle est un ordinateur fictif s’exécutant sur un ordinateur réel : possède un langage natif propre et traduit un programme écrit dans ce langage vers le langage natif de l’ordinateur. Définit les spécifications hardware de la plateforme Lit le bytecode compilé (indépendant de la plateforme) 14 Mouna Torjmen Khemakhem
  • 15. Versions java • JDK 1.0 (January 23, 1996) • JDK 1.1 (February 19, 1997) • J2SE 1.2 (December 8, 1998) • J2SE 1.3 (May 8, 2000) • J2SE 1.4 (February 6, 2002)• J2SE 1.4 (February 6, 2002) • J2EE 5.0 (September 30, 2004) • Java SE 6 (December 11, 2006) • Java SE 7 (July 28, 2011) • Java 8 (March 18, 2014) • Java SE 9 (September 21, 2017) 15 Mouna Torjmen Khemakhem
  • 16. Identificateurs • Nommer les classes, les variables, les méthodes, ... • Un identificateur Java est de longueur quelconque commence par une lettre Unicode peut ensuite contenir des lettres ou des chiffres ou le caractère souligné«_ » ne doit pas être un mot réservé du langage (mot clé) (if, for, true, … ) • Les caractères suivants sont autorisés pour construire un identificateur Java : "$" , "_" , "μ" et les lettres accentuées. [a..z, A..Z, $, _, μ ]{a..z, A..Z, $, _, μ, 0..9, Unicode} 16 Mouna Torjmen Khemakhem
  • 17. Les règles de nommage • Classe : 1ère lettre en majuscule Mélange de minuscule, majuscule avec la première lettre de chaque mot en majuscule Donner des noms simples et descriptifs Packages• Packages Tout en minuscule. Utiliser seulement [a-z], [0-9] et le point '.': Ne pas utiliser de tiret '-', d'underscore '_', d'espace, ou d'autres caractères ($, *, accents, ...). • Constante: Les constantes sont en majuscules et les mots sont séparés par le caractère souligné« _ »: UNE_CONSTANTE 17 Mouna Torjmen Khemakhem
  • 18. IDE, SDK, JDK, JRE • On développe, généralement, un programme JAVA en utilisant un IDE, • Afin de pouvoir créer une application JAVA• Afin de pouvoir créer une application JAVA consistante, on a besoin du JDK, • Pour tester et lancer le code écrit, on doit, nécessairement, disposer du JRE. 18 Mouna Torjmen Khemakhem
  • 19. IDE, SDK, JDK, JRE IDE (Integrated Development Environment) Un programme regroupant un ensemble d'outils pour le développement de logiciels. En général, un IDE regroupe un éditeur de texte, un compilateur, des outils automatiques de fabrication, et souvent un débogueur. (Exp: Eclipse, Netbeans) SDK (Software Development Kit) Ce kit est composé d'un JRE, d'un compilateur et de nombreux programmes utiles, des exemples de programmes Java, les sources de toutes les classes de l'api. 19 Mouna Torjmen Khemakhem
  • 20. IDE, SDK, JDK, JRE JRE (Java Runtime Environment) L’environnement qui permet d'exécuter les applications java, Il est constitué de la JVM en particulier (Java Virtual Machine). Environment) JDK (Java Development Kit) Outils permettant de développer, compiler (javac), débuguer (jdb) et exécuter un programme java. Il y a aussi des outils d'archivage (jar), de génération de documentation (javadoc). 20 Mouna Torjmen Khemakhem
  • 21. Environnement de développement intégré (EDI) • Exemple : Eclipse, Netbeans, Jcreator, … • La compilation se fait implicitement lorsque il y a des changements dans les fichiers sources. • L'interprétation se lance graphiquement avec le bouton Run. • Le résultat apparaît dans un console intégré à l'EDI. 21 Mouna Torjmen Khemakhem