Langage Java et Programmation Orienté Objet
-
Upload
nayd-nabil -
Category
Technology
-
view
221 -
download
7
Transcript of Langage Java et Programmation Orienté Objet
Programmation Orientée Objetsous le langage JAVA
Java
Compilation
Interprétation
Compilation vs Interprétation
Compilation
• Non portable• Exécution rapide
(simulation, jeux …)
Interprétation
• Portabilité• Lenteur
• Décompilation (obfuscation)
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
La syntaxe
public class firstSample{
public static void main(String[] args){
System.out.println(“’");}
}
La syntaxe : types
La syntaxe : opérations
La syntaxe :Contrôle
La syntaxe :Contrôle
La syntaxe :Contrôle
POO : Les concepts
• Objet
• Classe
• Héritage
• Encapsulation
• Surcharge
• Redéfinition
• Polymorphisme
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
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();
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
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
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
La Redéfinition
• @override
• Ecraser dans la sous classe la définition d’une méthode de la superclasse
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)
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
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
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}
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
Les Threads