PROGRAMMATION ORIENTEE OBJET AVANCEE EN JAVA
 

Ce document est une synthèse de cours de programmation objet en Java dispensés à des niveaux très différents. La première partie s'adresse donc plutôt à des débutants qui souhaitent acquérir les bases du langage (syntaxe, définition d'une classe, héritage, exceptions...). La seconde partie aborde des notions plus avancées de programmation objet (interfaces, classes internes, design patterns...) et de programmation générique (classes et méthodes génériques, "concepts", types contraints...). Tous ces concepts sont présentés à travers plusieurs bibliothèques: flux d'entrée / sortie, collections génériques, interfaces graphiques, programmation parallèle...

Voici un bref résumé de chacun des chapitres de ce document. Ils sont présentés sous la forme d'un diaporama qui, je l'espère, sera assez explicite. Une est également disponible, elle est destinée aux personnes connaissant déjà C++ et désirant acquérir rapidement les bases de Java.


  • Expose quelques généralités sur le langage Java, comme l'organisation des classes et des packages, la compilation en pseudo-code binaire, et l'exécution sur une machine virtuelle.


  • Présente la syntaxe du langage Java pour manipuler les variables, les tableaux et les chaînes de caractères. En particulier, la notion de référence est détaillée.


  • Introduit la syntaxe pour la programmation orientée objet en Java: le cycle de vie d'un objet, la définition d'une classe, l'héritage et le polymorphisme...


  • Explique la notion d'interface, fondamentale en Java, et discute des problématiques liées à l'héritage multiple, et des solutions de substitution proposées par les interfaces et la délégation.


  • Présente la gestion des flux en Java, que ce soit en mode texte ou en mode binaire. La sérialisation, qui permet de sauver et restaurer l'état d'un objet, est également introduite.


  • Explique le mécanisme des exceptions, présent dans de nombreux langages, et qui permet une gestion élaborée des erreurs.


  • Introduit la syntaxe pour la programmation générique en Java. Les concepts fondamentaux de cette approche sont présentés, et des notions telles que l'instanciation d'une classe générique, le polymorphisme statique, les "concepts" et les types contraints sont détaillées.


  • Présente succinctement la bibliothèque standard de Java pour la manipulation de collections génériques d'objets. Des design patterns comme l'itérateur et le visiteur (sous la forme d'un "comparateur") sont utilisés.


  • Explique comment concevoir une interface graphique avec la bibliothèque Swing. Les notions classiques d'événement et d'écouteur sont abordées. Des concepts un peu plus spécifiques sont également présentés: gestionnaires de placement de composants, contexte graphique, classes internes et classes anonymes...


  • Introduit quelques éléments de programmation parallèle avec les threads en Java. Notamment, le mécanisme de synchronisation et de partage de ressources est détaillé.


  • Présente brièvement quelques outils pour le développement et le déploiement d'applications en Java: génération de documentation avec Javadoc, déploiement d'applications en JAR, applets...

 
 
Copyright (c) 1999-2016 - Bruno Bachelet - bruno@nawouak.net - http://www.nawouak.net
La permission est accordée de copier, distribuer et/ou modifier ce document sous les termes de la licence GNU Free Documentation License, Version 1.1 ou toute version ultérieure publiée par la fondation Free Software Foundation. Voir cette licence pour plus de détails (http://www.gnu.org).