1 / 36

Rappels sur la Programmation java

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. Plan (2) pour le 14.12.2010. XML et sérialisation

Download Presentation

Rappels sur la Programmation java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rappels sur la Programmation java NSY208 / 2010-2011

  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- 16-122010

  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 • 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 : • 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 DJBEL- 2010

  12. Fondamentaux de Java (4) • Déclaration : [portée] [static] [final] type nom • Portée : 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 thispointe 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 finallypour 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) 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) http://java.sun.com/blueprints/patterns/MVC-detailed.html 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

More Related