SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
SUPPORT DE COURS
PROGRAMMATION ORIENTÉE OBJET
1
CHAPITRE 1
INTRODUCTION GÉNÉRALE
2
1. La programmation orientée objet
La Programmation Orientée Objet (POO) est un style de programmation où l’on
considère que les composants autonomes (les objets) disposent de ressources et de
moyens d’interaction entre eux.
La programmation procédurale suppose que le programmeur s’intéresse en priorité aux
traitements que son programme devra effectuer.
Identifier les traitements puis Ecrire les fonctions les données sont des paramètres
d’entrées aux fonctions
La programmation orientée objet propose une méthodologie centrée sur les données.
Identifier un ensemble d’objets, puis écrire les traitements On associe chaque
traitement à un objet donné.
Un objet peut être vu comme une entité regroupant un ensemble de données et de
méthodes (l’équivalent d’une fonction en C) de traitement.
Idée de base :
o Regrouper les données et les traitements relatifs à une même entité (réelle ou
conceptuelle) dans une entité informatique appelée objet.
o Un système d’information est un ensemble d’objets qui interagissent.
o Les modèles d’objets sont définis dans des classes.
Avantages :
o Meilleure modularité
o Maintenance aisée des applications
o Réutilisabilité des objets dans d’autres programmes
2. L’Objet
Les données de l’objet sont appelées des attributs. Elles indiquent son état à un instant
donné.
Les traitements (ou fonctions) de l’objet sont appelés des méthodes. Ils définissent son
comportement.
Chaque objet possède une identification unique qui est indiquée par une ou plusieurs
références.
L’objet peut se comporter comme une boite noire (le contenu est masqué par des contrôles
d’accès). Dans ce cas, quelques méthodes doivent assurer son intégration dans le système
(interface de service)
3
Un objet est une variable (presque) comme les autres. Il faut notamment qu’il soit déclaré
avec son type. Le type d’un objet est un type complexe (par opposition aux types primitifs
entier, caractère, …) qu’on appelle une classe.
3. La Classe
La classe est un modèle de définition pour les objets ayant les mêmes propriétés.
Une classe doit être considérée comme un nouveau type défini par le concepteur.
Il existe des contrôles d’utilisation d’une classe.
La classe définie les contrôles (ou restrictions) d’accès aux membres (attributs et
méthodes) de ses objets.
Le contrôle d’utilisation d’une classe et celui d’accès aux membres d’une classe sont deux
concepts différents.
Une classe regroupe un ensemble de données (qui peuvent être des variables primitives
ou des objets) et un ensemble de méthodes de traitement de ces données et/ou de données
extérieures à la classe.
4. Le langage Java
Java est un langage de programmation orienté objet (pur), développé par
« Sun Microsystems» en 1995 et racheté par « Oracle » en 2009.
Java est multi-plateforme : il est conçu pour être indépendant de la machine exécutant le
code grâce à la JVM (Java Virtual Machine ou machine virtuelle de Java).
Java est interprété : le code source est compilé en pseudo code (byte code) puis exécuté
par la JVM.
Java est multithread : un thread est une entité d’exécution qui peut s’exécuter en parallèle
d’une manière concurrente à d’autres threads au sein d’une même application.
Java est dynamique : les composants d’une application (les classes) sont chargés au
lancement de l’application.
4.1. Exécution d’un programme Java
Source Java :
Le fichier source d’un programme java est un fichier texte dont l’extension est « .java »
Une application peut être constituée de plusieurs fichiers sources.
4
Pseudo code Java :
Un fichier source Java est compilé pour générer le pseudo code (ou byte code) sous
forme d’un fichier dont l’extension est « .class »
Interprétation :
La JVM (nommé interpréteur Java) qui tourne sur une plateforme donnée est capable
d’interpréter le byte code et le transforme en code binaire exécutable par le processeur.
Figure 1.1. Les étapes pour exécuter un programme Java
4.2. Structure générale d’une application indépendante
Une application Java indépendante possède un point d’entrée unique qui est la méthode
(ou fonction) « main () » de prototype :
public static void main (String[] args)
En Java, tout se trouve dans une classe. Il ne peut y avoir de déclarations ou de code en
dehors du corps d’une classe.
Une classe ne contient pas directement du code. Elle contient des déclarations de variables
(attributs) et des méthodes (fonctions).
Une méthode peut contenir du code et des déclarations de variables locales.
Tout fichier source doit porter le nom de la classe publique qu’il contient avec
l’extension « .java »
Les arguments sont contenus dans le tableau args.
5
Exemple :
public class Exemple
{
//déclaration des attributs
//définition des méthodes
public static void main (String [] args)
{
//déclaration des variables locales
System.out.println(“Bonjour”);
}
}
5. Outils de développement
Le JDK (Java Development Kit) est le kit de développement de base qui est proposé
gratuitement. Il contient plusieurs outils qu’on peut appeler par de simples commandes :
o javac : le compilateur java
o java : l’interpréteur d’application (JVM)
o jar : un compresseur de classes Java
o appletviewer : un interpréteur d’applet
o …..
La JRE (Java Runtime Environment) doit être installée sur les machines qui exécuteront
des programmes Java. La JRE contient la JVM, des librairies et d’autres composants
nécessaires à l’exécution des applets et des applications Java.
LE JDK contient lui-même le JRE.
Figure 1.2. Les environnements Java
6
Environnement de Développement Intégrés (EDI ou IDE en anglais) :
o Kawa, JBuilder, Visual J++, Eclipse, Netbeans, ….
6. Références
Claude Delannoy : programmer en java, ISBN10 : 2212135661, Eyrolles 2012.
M. Bouzeghoub, G. Gardarin, P. Valduriez, Les objets, Eyrolles 1998.
E.Puybaret, Java - 1 Premières applications professionnelles en Java, Les Cahiers du
Programmeur 2003.
G.Clavel, et al., Java, La synthèse, Dunod 2003.
H. Bersini, La programmation orientée objet, Cours et exercices en UML 2, avec Java, C#
2, C++, Python, PHP 5 et LINQ, Eyrolles 2008
C.Delannoy, S'initier à la programmation : Avec des exemples en C, C++, C#, Java et
PHP, Eyrolles, 2008
Sites Web
www.java.com : site officiel Java (JDK et doc.)
https://www.javaworld.com : Infos sur Java
https://www.oracle.com/fr/java/ : Logiciel Java

Contenu connexe

Tendances

La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateYouness Boukouchi
 
Cours JavaScript.ppt
Cours JavaScript.pptCours JavaScript.ppt
Cours JavaScript.pptPROFPROF11
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Pythonyboussard
 
Surviving the Java Deserialization Apocalypse // OWASP AppSecEU 2016
Surviving the Java Deserialization Apocalypse // OWASP AppSecEU 2016Surviving the Java Deserialization Apocalypse // OWASP AppSecEU 2016
Surviving the Java Deserialization Apocalypse // OWASP AppSecEU 2016Christian Schneider
 
API : l'architecture REST
API : l'architecture RESTAPI : l'architecture REST
API : l'architecture RESTFadel Chafai
 
AngularJS $Provide Service
AngularJS $Provide ServiceAngularJS $Provide Service
AngularJS $Provide ServiceEyal Vardi
 
Original slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talkOriginal slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talkAarti Parikh
 
Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Javaday Paris 2022 - Java en 2022 : profiter de Java 17Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Javaday Paris 2022 - Java en 2022 : profiter de Java 17Jean-Michel Doudoux
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API RESTAbdoulaye Dieng
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
Thread Dump Analysis
Thread Dump AnalysisThread Dump Analysis
Thread Dump AnalysisDmitry Buzdin
 
cours javascript.pptx
cours javascript.pptxcours javascript.pptx
cours javascript.pptxYaminaGh1
 

Tendances (20)

Cours php
Cours php Cours php
Cours php
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernate
 
JAVA
JAVAJAVA
JAVA
 
Cours JavaScript.ppt
Cours JavaScript.pptCours JavaScript.ppt
Cours JavaScript.ppt
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Python
 
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
 
Surviving the Java Deserialization Apocalypse // OWASP AppSecEU 2016
Surviving the Java Deserialization Apocalypse // OWASP AppSecEU 2016Surviving the Java Deserialization Apocalypse // OWASP AppSecEU 2016
Surviving the Java Deserialization Apocalypse // OWASP AppSecEU 2016
 
API : l'architecture REST
API : l'architecture RESTAPI : l'architecture REST
API : l'architecture REST
 
AngularJS $Provide Service
AngularJS $Provide ServiceAngularJS $Provide Service
AngularJS $Provide Service
 
Original slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talkOriginal slides from Ryan Dahl's NodeJs intro talk
Original slides from Ryan Dahl's NodeJs intro talk
 
Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Javaday Paris 2022 - Java en 2022 : profiter de Java 17Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Javaday Paris 2022 - Java en 2022 : profiter de Java 17
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API REST
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Marzouk jsp
Marzouk jspMarzouk jsp
Marzouk jsp
 
Thread Dump Analysis
Thread Dump AnalysisThread Dump Analysis
Thread Dump Analysis
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Angular Avancé
Angular AvancéAngular Avancé
Angular Avancé
 
cours javascript.pptx
cours javascript.pptxcours javascript.pptx
cours javascript.pptx
 
Cours java
Cours javaCours java
Cours java
 

Similaire à Chapitre 1 introduction generale

POO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfPOO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfLarbaSAWADOGO2
 
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
 
Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011yassine kchiri
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 
PROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
PROGRAMMATION 2e GENIE PARTIE THEORIE.pptPROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
PROGRAMMATION 2e GENIE PARTIE THEORIE.pptEddySHANGA
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev javaAmel Morchdi
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
Formation JAVA (1)
Formation JAVA (1)Formation JAVA (1)
Formation JAVA (1)Ahmed Charef
 
Langage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetLangage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetMohammed Jaafar
 
Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)
Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)
Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)SmartnSkilled
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1ATHMAN HAJ-HAMOU
 

Similaire à Chapitre 1 introduction generale (20)

POO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdfPOO Licence L2 Partie I.pdf
POO Licence L2 Partie I.pdf
 
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
 
4711538.pptx
4711538.pptx4711538.pptx
4711538.pptx
 
Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
POO-Cours.pdf
POO-Cours.pdfPOO-Cours.pdf
POO-Cours.pdf
 
PROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
PROGRAMMATION 2e GENIE PARTIE THEORIE.pptPROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
PROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev java
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Formation JAVA (1)
Formation JAVA (1)Formation JAVA (1)
Formation JAVA (1)
 
Développement Sous Android
Développement Sous AndroidDéveloppement Sous Android
Développement Sous Android
 
Programmation Java
Programmation JavaProgrammation Java
Programmation Java
 
XB-Java.ppt
XB-Java.pptXB-Java.ppt
XB-Java.ppt
 
Langage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté ObjetLangage Java et Programmation Orienté Objet
Langage Java et Programmation Orienté Objet
 
Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)
Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)
Support formation vidéo : OCA Java SE 8 Programmer (1Z0-808) (1)
 
Jpa(1)
Jpa(1)Jpa(1)
Jpa(1)
 
Les Classe en Java
Les Classe en JavaLes Classe en Java
Les Classe en Java
 
Cours de JAVA de base
Cours de JAVA  de baseCours de JAVA  de base
Cours de JAVA de base
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1
 

Plus de Amir Souissi

Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsAmir Souissi
 
Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptionsAmir Souissi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeAmir Souissi
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de javaAmir Souissi
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donneesAmir Souissi
 
Chapitre 3 activites et intents
Chapitre 3   activites et  intentsChapitre 3   activites et  intents
Chapitre 3 activites et intentsAmir Souissi
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objetAmir Souissi
 
Chapitre 2 elements graphiques android
Chapitre 2   elements graphiques androidChapitre 2   elements graphiques android
Chapitre 2 elements graphiques androidAmir Souissi
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement androidAmir Souissi
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3Amir Souissi
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2Amir Souissi
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1Amir Souissi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 

Plus de Amir Souissi (20)

Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
 
Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptions
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donnees
 
Chapitre 3 activites et intents
Chapitre 3   activites et  intentsChapitre 3   activites et  intents
Chapitre 3 activites et intents
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
 
Chapitre 2 elements graphiques android
Chapitre 2   elements graphiques androidChapitre 2   elements graphiques android
Chapitre 2 elements graphiques android
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement android
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1
 
Tp n 6 linux
Tp n 6 linuxTp n 6 linux
Tp n 6 linux
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 

Dernier

Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 

Dernier (18)

Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 

Chapitre 1 introduction generale

  • 2.
  • 4. 2 1. La programmation orientée objet La Programmation Orientée Objet (POO) est un style de programmation où l’on considère que les composants autonomes (les objets) disposent de ressources et de moyens d’interaction entre eux. La programmation procédurale suppose que le programmeur s’intéresse en priorité aux traitements que son programme devra effectuer. Identifier les traitements puis Ecrire les fonctions les données sont des paramètres d’entrées aux fonctions La programmation orientée objet propose une méthodologie centrée sur les données. Identifier un ensemble d’objets, puis écrire les traitements On associe chaque traitement à un objet donné. Un objet peut être vu comme une entité regroupant un ensemble de données et de méthodes (l’équivalent d’une fonction en C) de traitement. Idée de base : o Regrouper les données et les traitements relatifs à une même entité (réelle ou conceptuelle) dans une entité informatique appelée objet. o Un système d’information est un ensemble d’objets qui interagissent. o Les modèles d’objets sont définis dans des classes. Avantages : o Meilleure modularité o Maintenance aisée des applications o Réutilisabilité des objets dans d’autres programmes 2. L’Objet Les données de l’objet sont appelées des attributs. Elles indiquent son état à un instant donné. Les traitements (ou fonctions) de l’objet sont appelés des méthodes. Ils définissent son comportement. Chaque objet possède une identification unique qui est indiquée par une ou plusieurs références. L’objet peut se comporter comme une boite noire (le contenu est masqué par des contrôles d’accès). Dans ce cas, quelques méthodes doivent assurer son intégration dans le système (interface de service)
  • 5. 3 Un objet est une variable (presque) comme les autres. Il faut notamment qu’il soit déclaré avec son type. Le type d’un objet est un type complexe (par opposition aux types primitifs entier, caractère, …) qu’on appelle une classe. 3. La Classe La classe est un modèle de définition pour les objets ayant les mêmes propriétés. Une classe doit être considérée comme un nouveau type défini par le concepteur. Il existe des contrôles d’utilisation d’une classe. La classe définie les contrôles (ou restrictions) d’accès aux membres (attributs et méthodes) de ses objets. Le contrôle d’utilisation d’une classe et celui d’accès aux membres d’une classe sont deux concepts différents. Une classe regroupe un ensemble de données (qui peuvent être des variables primitives ou des objets) et un ensemble de méthodes de traitement de ces données et/ou de données extérieures à la classe. 4. Le langage Java Java est un langage de programmation orienté objet (pur), développé par « Sun Microsystems» en 1995 et racheté par « Oracle » en 2009. Java est multi-plateforme : il est conçu pour être indépendant de la machine exécutant le code grâce à la JVM (Java Virtual Machine ou machine virtuelle de Java). Java est interprété : le code source est compilé en pseudo code (byte code) puis exécuté par la JVM. Java est multithread : un thread est une entité d’exécution qui peut s’exécuter en parallèle d’une manière concurrente à d’autres threads au sein d’une même application. Java est dynamique : les composants d’une application (les classes) sont chargés au lancement de l’application. 4.1. Exécution d’un programme Java Source Java : Le fichier source d’un programme java est un fichier texte dont l’extension est « .java » Une application peut être constituée de plusieurs fichiers sources.
  • 6. 4 Pseudo code Java : Un fichier source Java est compilé pour générer le pseudo code (ou byte code) sous forme d’un fichier dont l’extension est « .class » Interprétation : La JVM (nommé interpréteur Java) qui tourne sur une plateforme donnée est capable d’interpréter le byte code et le transforme en code binaire exécutable par le processeur. Figure 1.1. Les étapes pour exécuter un programme Java 4.2. Structure générale d’une application indépendante Une application Java indépendante possède un point d’entrée unique qui est la méthode (ou fonction) « main () » de prototype : public static void main (String[] args) En Java, tout se trouve dans une classe. Il ne peut y avoir de déclarations ou de code en dehors du corps d’une classe. Une classe ne contient pas directement du code. Elle contient des déclarations de variables (attributs) et des méthodes (fonctions). Une méthode peut contenir du code et des déclarations de variables locales. Tout fichier source doit porter le nom de la classe publique qu’il contient avec l’extension « .java » Les arguments sont contenus dans le tableau args.
  • 7. 5 Exemple : public class Exemple { //déclaration des attributs //définition des méthodes public static void main (String [] args) { //déclaration des variables locales System.out.println(“Bonjour”); } } 5. Outils de développement Le JDK (Java Development Kit) est le kit de développement de base qui est proposé gratuitement. Il contient plusieurs outils qu’on peut appeler par de simples commandes : o javac : le compilateur java o java : l’interpréteur d’application (JVM) o jar : un compresseur de classes Java o appletviewer : un interpréteur d’applet o ….. La JRE (Java Runtime Environment) doit être installée sur les machines qui exécuteront des programmes Java. La JRE contient la JVM, des librairies et d’autres composants nécessaires à l’exécution des applets et des applications Java. LE JDK contient lui-même le JRE. Figure 1.2. Les environnements Java
  • 8. 6 Environnement de Développement Intégrés (EDI ou IDE en anglais) : o Kawa, JBuilder, Visual J++, Eclipse, Netbeans, …. 6. Références Claude Delannoy : programmer en java, ISBN10 : 2212135661, Eyrolles 2012. M. Bouzeghoub, G. Gardarin, P. Valduriez, Les objets, Eyrolles 1998. E.Puybaret, Java - 1 Premières applications professionnelles en Java, Les Cahiers du Programmeur 2003. G.Clavel, et al., Java, La synthèse, Dunod 2003. H. Bersini, La programmation orientée objet, Cours et exercices en UML 2, avec Java, C# 2, C++, Python, PHP 5 et LINQ, Eyrolles 2008 C.Delannoy, S'initier à la programmation : Avec des exemples en C, C++, C#, Java et PHP, Eyrolles, 2008 Sites Web www.java.com : site officiel Java (JDK et doc.) https://www.javaworld.com : Infos sur Java https://www.oracle.com/fr/java/ : Logiciel Java