Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Rappels sur la Programmation java
NSY208 /
2
Plan (1) Concepts Programmation OO Fondamentaux de Java
Interfaces et Classes Exceptions Collections et généricité Programmation événementielle Assertions et JUNIT DJBEL
3
Plan (2) pour le 14.12.2010 XML et sérialisation
Programmation concurrentielle Introspection Persistance RMI Programmation native DJBEL- 2010
4
Concepts de la programmation Orientée Objet
DJBEL- 2010
5
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
6
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
7
Concepts POO (3) Les polygones
DJBEL- 2010
8
Fondamentaux de Java DJBEL- 2010
9
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
10
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
11
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
12
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
13
Fondamentaux de Java (5)
DJBEL- 2010
14
Interface et Classe DJBEL- 2010
15
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
16
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
17
Interface et Classe (3) DJBEL- 2010
18
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
19
Interface et Classe (5) La classe concrète doit implémenter toutes les méthodes qui sont encore abstraites DJBEL- 2010
20
Interface et Classe (6) Classe interne et classe anonyme DJBEL- 2010
21
Exceptions DJBEL- 2010
22
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
23
Exceptions (2) Une hiérarchie d’exceptions :
Erreurs, on ne peut pas les intercepter Exceptions qui sont recouvrable DJBEL- 2010
24
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
25
Collection et Généricité
DJBEL- 2010
26
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
27
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
28
Collection et généricité (3)
DJBEL- 2010
29
Collection et généricité (4)
DJBEL- 2010
30
Collection et généricité (5)
DJBEL- 2010
31
Programmation événementielle
DJBEL- 2010
32
Programmation événementielle (1)
DJBEL- 2010
33
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
34
Programmation événementielle (3)
DJBEL- 2010
35
Programmation événementielle (4)
DJBEL- 2010
36
Programmation événementielle (5)
DJBEL- 2010
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.