23
Programmation Orientée Objet sous le langage JAVA Java

Langage Java et Programmation Orienté Objet

Embed Size (px)

Citation preview

Page 1: Langage Java et Programmation Orienté Objet

Programmation Orientée Objetsous le langage JAVA

Java

Page 2: Langage Java et Programmation Orienté Objet

Compilation

Interprétation

Page 3: Langage Java et Programmation Orienté Objet

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

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

La syntaxe

public class firstSample{

public static void main(String[] args){

System.out.println(“’");}

}

Page 6: Langage Java et Programmation Orienté Objet

La syntaxe : types

Page 7: Langage Java et Programmation Orienté Objet

La syntaxe : opérations

Page 8: Langage Java et Programmation Orienté Objet

La syntaxe :Contrôle

Page 9: Langage Java et Programmation Orienté Objet

La syntaxe :Contrôle

Page 10: Langage Java et Programmation Orienté Objet

La syntaxe :Contrôle

Page 11: Langage Java et Programmation Orienté Objet

POO : Les concepts

• Objet

• Classe

• Héritage

• Encapsulation

• Surcharge

• Redéfinition

• Polymorphisme

Page 12: Langage Java et Programmation Orienté Objet

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

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

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

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

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

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

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

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

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

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

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

Les Threads