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 gestion des exceptions avec Java
La gestion des exceptions avec JavaLa gestion des exceptions avec Java
La gestion des exceptions avec JavaPapa Cheikh Cisse
 
Workshop Spring - Session 4 - Spring Batch
Workshop Spring -  Session 4 - Spring BatchWorkshop Spring -  Session 4 - Spring Batch
Workshop Spring - Session 4 - Spring BatchAntoine Rey
 
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...ENSET, Université Hassan II Casablanca
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zinebZineb ELGARRAI
 
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...ENSET, Université Hassan II Casablanca
 
Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)guicara
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partiekadzaki
 
Features of JAVA Programming Language.
Features of JAVA Programming Language.Features of JAVA Programming Language.
Features of JAVA Programming Language.Bhautik Jethva
 
Installation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatInstallation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatMohamed Ben Bouzid
 
POO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & ObjetPOO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & ObjetMouna Torjmen
 
Analyse de l'existant // Etat de l'art // Positionnement
Analyse de l'existant // Etat de l'art // PositionnementAnalyse de l'existant // Etat de l'art // Positionnement
Analyse de l'existant // Etat de l'art // PositionnementVirginie Colombel
 

Tendances (20)

La gestion des exceptions avec Java
La gestion des exceptions avec JavaLa gestion des exceptions avec Java
La gestion des exceptions avec Java
 
Workshop Spring - Session 4 - Spring Batch
Workshop Spring -  Session 4 - Spring BatchWorkshop Spring -  Session 4 - Spring Batch
Workshop Spring - Session 4 - Spring Batch
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Tests unitaires : Utilisation de la librairie CUnit
Tests unitaires : Utilisation de la librairie CUnitTests unitaires : Utilisation de la librairie CUnit
Tests unitaires : Utilisation de la librairie CUnit
 
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zineb
 
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
 
Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Features of JAVA Programming Language.
Features of JAVA Programming Language.Features of JAVA Programming Language.
Features of JAVA Programming Language.
 
Langage C#
Langage C#Langage C#
Langage C#
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
Installation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatInstallation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de Tomcat
 
Java I/O
Java I/OJava I/O
Java I/O
 
POO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & ObjetPOO Java Chapitre 1 Classe & Objet
POO Java Chapitre 1 Classe & Objet
 
Analyse de l'existant // Etat de l'art // Positionnement
Analyse de l'existant // Etat de l'art // PositionnementAnalyse de l'existant // Etat de l'art // Positionnement
Analyse de l'existant // Etat de l'art // Positionnement
 
Spring Batch
Spring BatchSpring Batch
Spring Batch
 

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
 
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
 
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
 

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)
 
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
 
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
 

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 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
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisationAmir 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 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
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 

Dernier

L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLElebaobabbleu
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsJaouadMhirach
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Technologia Formation
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...Universidad Complutense de Madrid
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetJeanYvesMoine
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkRefRama
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKNassimaMdh
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Coursebenezerngoran
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxShinyaHilalYamanaka
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxabdououanighd
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxikospam0
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxrajaakiass01
 

Dernier (20)

L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Cours
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.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