langage java et programmation orienté objet
TRANSCRIPT
![Page 1: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/1.jpg)
Programmation Orientée Objetsous le langage JAVA
Java
![Page 2: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/2.jpg)
Compilation
Interprétation
![Page 3: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/3.jpg)
Compilation vs Interprétation
Compilation
• Non portable• Exécution rapide
(simulation, jeux …)
Interprétation
• Portabilité• Lenteur
• Décompilation (obfuscation)
![Page 4: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/4.jpg)
Outils
• IDE : NetBeans, Eclipse, Jbuilder, Jboss …
• Le kit de developpement SDK java (jdk) :– Compilateur : javac– Parser (decompiler) : javap– Générateur de documentation ; javadoc
• La machine virtuelle java (runtime) JRE (JVM) :– Interpréteur : java
Note: java existe en plusieurs éditions– SE (standard edition) pour les applications desktop– EE (Entreprise edition) pour les applications web– ME (Micro edition) pour les applications mobiles ou embarquées
![Page 5: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/5.jpg)
La syntaxe
public class firstSample{
public static void main(String[] args){
System.out.println(“’");}
}
![Page 6: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/6.jpg)
La syntaxe : types
![Page 7: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/7.jpg)
La syntaxe : opérations
![Page 8: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/8.jpg)
La syntaxe :Contrôle
![Page 9: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/9.jpg)
La syntaxe :Contrôle
![Page 10: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/10.jpg)
La syntaxe :Contrôle
![Page 11: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/11.jpg)
POO : Les concepts
• Objet
• Classe
• Héritage
• Encapsulation
• Surcharge
• Redéfinition
• Polymorphisme
![Page 12: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/12.jpg)
Les Objets
• Personnes, lieux, concepts …
• Composés de caractéristiques (propriété, données) et
dotés de comportements (opérations, méthodes …)
• Peuvent opérer directement sur leurs données
• Peuvent envoyer des messages les uns aux autres
![Page 13: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/13.jpg)
Les Classe
• class
• Une structure contenant les données et les comportements communs à un ensemble d’objets qu’elle décrit
• Chaque objet est une instance d’une classe
Voiture v= new Voiture();
![Page 14: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/14.jpg)
L’héritage
Le mécanisme qui permet à une classe de partager ses attributs et méthodes définies à une ou plusieurs classes
• Extends
• Sous classe (classe fille)– La classe qui hérite des caractéristiques de la
classe mère• Super classe (classe mère)
– Classe depuis laquelle une autre classe a hérité des comportements
• Héritage multiple – Une classe qui hérite de plusieurs autres classes
![Page 15: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/15.jpg)
L’encapsulation
• Private / protected / package / public
• protéger l'information contenue dans un objet et de ne proposer que des méthodes de manipulation de cet objet
• intégrité des données
• Cacher l’implémentation
![Page 16: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/16.jpg)
La surcharge
• Surcharge de méthode : même nom de méthodes avec différents paramètres (type et/ou nombre)
• La surcharge des operateur n’existe pas sous java
![Page 17: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/17.jpg)
La Redéfinition
• @override
• Ecraser dans la sous classe la définition d’une méthode de la superclasse
![Page 18: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/18.jpg)
Le Polymorphisme
• Attribuer à un objet d’une super classe A une instance de la sous classe B
• Appel des méthodes polymorphiques (les méthodes redéfinis)
![Page 19: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/19.jpg)
Notions
• package : conteneur avec un ensemble de classes
• this : référence l’objet courant dans la classe
• super : référence la superclasse
• final : définit une constante, une méthode non redéfinissable, une classe non héritable.
• static : variable ou méthode de classe
• Abstract : méthode à définir dans les sous classes / classe qui ne peut être instanciée
![Page 20: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/20.jpg)
Notions
• Les interfaces : une collection de définitions de méthodes (sans implémentation) et de valeur constantes (classe abstraite / héritage multiple …)
• Classe interne: classe définit à l’intérieur d’une autre classe
• Classe anonyme: classe interne sans nom, crée par dérivation d’une superclasse ou par implémentation d’une interface
![Page 21: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/21.jpg)
Les exceptions• Exception
• Ne plus prévoir l’erreur• Laisser l’erreur survenir puis ramasser les dégâts
try { //code douteux}Catch(TypeAException varAExp){ //réaction à l’exception A}..Catch(TypeBException varBExp){//réaction à l’exception A}Finally{ //code toujours executable}
![Page 22: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/22.jpg)
Les Threads
• Thread ≠ Processus • S’exécute dans un processus en parallèle à d’autres
traitements
• Classe hérite de la classe Thread ou implémente l’interface Runnable
• Définir la méthode run()• Appeler la méthode start() depuis l’objet de la classe
![Page 23: Langage Java et Programmation Orienté Objet](https://reader034.vdocuments.mx/reader034/viewer/2022042607/55aa7b341a28abf76c8b4640/html5/thumbnails/23.jpg)
Les Threads