Rappels sur la Programmation java

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Formation universitaire à .NET: Introduction à C#
Spécialisation/généralisation Héritage Polymorphisme
Le mécanisme des exceptions
Introspection et Réflexion Manipulation dynamique de code Java.
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Approfondissement du langage
POO.
Programmer en JAVA par Tama
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
Tarak Chaari, Stéphane Frénot, Frédérique Laforest, Frédéric Le-Mouël JAV1 JAV – TD 5 Lhéritage en Java.
Programmation Orientée Objet (POO)
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
1 Le mécanisme des exceptions Qu'est-ce qu'une exception? Comment définir et signaler des exceptions? Comment récupérer des exceptions?
Leçon 3 : Héritage IUP 2 Génie Informatique
Introduction à la POO: Les classes vs les objets
بسم الله الرحمن الرحيم. Institut Supérieure des Etudes Technologiques de Kébili.
Programmation par Objets et Java
Chapitre III Héritage (début)
Programmation orientée objet
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Langage Oriente Objet Cours 4.
Mémoire de fin d’études présenté par Amine Brikci-Nigassa
Principes de programmation (suite)
IFT1025, Programmation 2 Jian-Yun Nie
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Classes abstraites et Interfaces
POO : Objets et classes (Rappels)
Structures de données IFT-2000
Structures de données IFT-10541
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Programmation Orienté Objet applications au langage Java
Introduction au paradigme orienté-objet (suite)
P. Van Roy, LINF1251 LINF1251: Le Langage Java Peter Van Roy Département dIngénierie Informatique, UCL
Programmation concurrente
Formation JAVA. Par: SILMI.S
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Cours 8 (18 novembre 2011) exceptions. héritagePOO-L3 H. Fauconnier2 Tableau et héritage Y[] yA=new Y[3]; X[] xA=yA; //ok xA[0]=new Y(); xA[1]=new X();
COURS DE PROGRAMMATION ORIENTEE OBJET :
99 Réutilisation du code grâce à l'héritage. 9-2 Objectifs À la fin de ce cours, vous serez capables de : Définir l'héritage Utiliser l'héritage pour.
Héritage et composition
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Travaux Pratiques Représentation des connaissances
Objectifs À la fin de ce cours, vous serez capables de :
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
11/04/ L'héritage Cours 7 Cours 7.
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
Introduction à la programmation objet en C++
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
C++ L’HERITAGE Fayçal BRAÏKI DUT INFORMATIQUE.
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
Cours du 5 novembre.
Héritage H. Batatia. plan Notion (que signifie l’héritage) Ecriture en java Héritage multiple (interdit) Instanciation (partie propre et partie héritée)
Les classes Introduction aux Langages Orientés Objets
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Introduction à la programmation objet avec java
Héritage Conception par Objet et programmation Java
Campus-Booster ID : Copyright © SUPINFO. All rights reserved La programmation objet, un fondement de la programmation évènementielle.
Classes abstraites, interface Classe interne Classes enveloppes
Introduction à la Programmation Orientée Objet
pour les programmeurs en C++ Java 2 Part 1 3 Histoire de Java Projet de connexion des machines: 1991 Le nom Java a été introduit dans un café Développé.
BlueJ_III 1 Java, les objets : tout de suite ! Interaction entre objets Notes de cours associées au chapitre 3 tutorial BlueJ
Retour sur les interfaces Les méthodes définies dans une interface sont des méthodes qui doivent absolument être implémentées par une ou des sous-classes.
Transcription de la présentation:

Rappels sur la Programmation java NSY208 / 2010-2011

Plan (1) Concepts Programmation OO Fondamentaux de Java Interfaces et Classes Exceptions Collections et généricité Programmation événementielle Assertions et JUNIT DJBEL- 16-122010

Plan (2) pour le 14.12.2010 XML et sérialisation Programmation concurrentielle Introspection Persistance RMI Programmation native DJBEL- 2010

Concepts de la programmation Orientée Objet DJBEL- 2010

Concepts POO (1) Abstraction Encapsulation Héritage Toute entité est un objet Encapsulation Modéliser au sein d’une seule entité Class, les propriétés et le comportement de l’objet Héritage étendre une classe existante pour la spécialiser modélisation de la relation « est » DJBEL- 2010

Concepts POO (2) Polymorphisme : Surcharge et redéfinition Possibilité pour un objet de modéliser plusieurs comportements Surcharge et redéfinition une même méthode avec différents paramètres adapter une méthode spécifiquement Agrégation et Composition regrouper et structurer un ensemble de classes DJBEL- 2010

Concepts POO (3) Les polygones DJBEL- 2010

Fondamentaux de Java DJBEL- 2010

Fondamentaux de Java (1) C’est un langage interprété Les programmes sont compilés dans un code intermédiaire (byte code) qui s’exécute sur une machine virtuelle : JVM Utilisation d’un Garbage Collector Langage entièrement à base d’objets Exception des types primitifs (int, boolean, char…) : Boxing Une hiérarchie arborescente : toutes les classes héritent d’une classe de base Object Un objet  une instance de la classe DJBEL- 2010

Fondamentaux de Java (2) Une syntaxe similaire à C ou C++ Toutes les instructions sont définies dans une classe Des outils pour compiler : JDK, Eclipse, Netbeans, BlueJ Un environnement d’exécution (JRE) Un seul point d’entrée par application : static void main Organisation des classes sous la forme de paquetages DJBEL- 2010

Fondamentaux de Java (3) Une hiérarchie unique sur la base Object Méthode Description boolean equals (Object obj) Déterminer si deux objets sont égaux void finalize() Appelée par le GC pour libérer les ressources int hashCode() Renvoie le code hash de l’objet final void notify() Réveille un objet en attente de verrou final void notifyAll() Réveille tous les objets en attente final void wait() Suspendre le thread en cours String toString() Renvoie la forme texte d’un objet Soyez bref. Raccourcissez votre texte le plus possible afin de conserver une grande taille de police. DJBEL- 2010

Fondamentaux de Java (4) Déclaration : [portée] [static] [final] type nom Portée : Visibilité Public Protected Default Private Depuis la même classe Oui Depuis les autres classes du paquetage Non Depuis une sous-classe du même paquetage Depuis une sous-classe ou une classe définie dans un paquetage externe DJBEL- 2010

Fondamentaux de Java (5) DJBEL- 2010

Interface et Classe DJBEL- 2010

Interface et classe (1) Interface  « contrat», non instanciée ?: Déclaration de méthodes pour le comportement Doit être implémentée : implements Etendre (extends) une ou plusieurs interfaces Class abstraite (abstract), non instanciée ? : Peut contenir des méthodes abstraites ou non Peut partiellement implémenter une interface Ne peut pas être déclarée final Méthodes abstraites ne doivent pas être privées DJBEL- 2010

Interface et classe (2) Classe concrète Doit implémenter toutes les méthodes abstraites Peut être interne ou anonyme Hérite (extends) d’une seule et une seule classe, « Héritage » multiple par le biais d’interfaces Une classe final ne peut pas être étendue Opérateur this pointe vers l’instance courante en exécution Un Constructeur par défaut, sur-chargeable Peut redéfinir ou surcharger une méthode de la classe de base, elle n’a pas accès aux membres privés de la base, super pour appeler le constructeur de la super classe DJBEL- 2010

Interface et Classe (3) DJBEL- 2010

Interface et Classe (4) Les membres de l’interface sont par défaut public Une classe abstraite peut partiellement implémenter une interface Exemple de surcharge de la fonction somme DJBEL- 2010

Interface et Classe (5) La classe concrète doit implémenter toutes les méthodes qui sont encore abstraites DJBEL- 2010

Interface et Classe (6) Classe interne et classe anonyme DJBEL- 2010

Exceptions DJBEL- 2010

Exceptions (1) Exception : occurrence d’un évènement qui interrompt l’exécution normale du programme Anomalie système :le fichier est inexistant Bug programmeur : utilisation d’un objet null A l’occurrence de l’événement une exception est levée (thrown) Elle doit être attrapé (catch) par le processus appelant (handler) Il y a au moins un handler celui du main DJBEL- 2010

Exceptions (2) Une hiérarchie d’exceptions : Erreurs, on ne peut pas les intercepter Exceptions qui sont recouvrable DJBEL- 2010

Exceptions (3) Encadrer le code « suspect » par un block try Possibilité d’utiliser autant de blocks catch que d’exception qu’on veut attraper Utiliser un block finally pour libérer les ressources Finally peut générer lui-même des erreurs DJBEL- 2010

Collection et Généricité DJBEL- 2010

Collection et généricité (1) Une collection est un container qui a pour but de regrouper un ensemble d’objets Possibilité de manipuler cet ensemble comme formant un tout Elle expose un comportement : Ajouter un élément Retirer un élément Connaitre sa taille Accéder directement à un élément Itérer DJBEL- 2010

Collection et généricité (2) Class Map Set List Ordre Tri HashMap Oui Non Hashtable TreeMap Naturel LinkedHashMap Insertion HashSet TreeSet LinkedHashSet ArrayList Index Vector LinkedList DJBEL- 2010

Collection et généricité (3) DJBEL- 2010

Collection et généricité (4) DJBEL- 2010

Collection et généricité (5) DJBEL- 2010

Programmation événementielle DJBEL- 2010

Programmation événementielle (1) http://java.sun.com/blueprints/patterns/MVC-detailed.html DJBEL- 2010

Programmation événementielle (2) EventObject : véhicule le contexte d’un évènement Des éléments actifs qui réagissent à une action utilisateur Le modèle qui alerte sur son changement d’état ActionListener, PropertyChangeListener qui interceptent les événements Des Panels qui se rafraichissent (repaint) DJBEL- 2010

Programmation événementielle (3) DJBEL- 2010

Programmation événementielle (4) DJBEL- 2010

Programmation événementielle (5) DJBEL- 2010