Les techniques Objet
- Les principes généraux de la modélisation et de la programmation Objet.
- L'abstraction et l'encapsulation : les interfaces. Les différentes formes d'héritage, le polymorphisme.
- Introduction à la modélisation UML : le modèle statique, le modèle dynamique, le modèle de coopération, les scénarios.
Travaux pratiques
L'application des concepts à une étude de cas qui sera l'un des fils directeurs des exercices suivants.
La programmation Objet avec Java
- Les bases de la syntaxe : variables, types, expressions, instructions, tableaux, structures de contrôle et autoboxing.
- Définition et instanciation des classes. Les champs, les méthodes, les constructeurs, les champs et méthodes statiques.
- Les méthodes à nombre variable d'arguments. Les aspects méthodologiques : la conception des classes.
- Les unités de compilation et packages : le contrôle de la visibilité des classes, le mécanisme d'import.
- Les différentes formes d'héritage : l'extension et l'implémentation.
- Les interfaces et l'implémentation des interfaces.
- Le polymorphisme et sa mise en œuvre.
- La construction de hiérarchies de classes.
- La définition des classes dérivées, les constructeurs, les références.
- La factorisation de code : les classes abstraites.
- L'utilisation simultanée de l'implémentation et de l'extension.
- Les classes abstraites.
- Les types génériques.
- Les aspects méthodologiques : le regroupement des constantes, la spécification de services.
Travaux pratiques
Prise en main de l'environnement de développement et programmation d'un programme simple. Programmation de l'étude de cas. Conception et construction d'une hiérarchie de classes et d'interfaces. Mise en place du polymorphisme et de la généricité. Introduction des exceptions.
La conception d'interfaces graphiques (AWT, Swing)
- Concepts de base : principes de la visualisation et de la gestion des événements, quelques classes génériques.
- Visualisation des composants graphiques.
- Les conteneurs et les Layouts : BorderLayout, FlowLayout, GridLayout, GridBagLayout et CardLayout.
- Construction de conteneurs hiérarchiques.
- Quelques composants graphiques : labels, boutons, menus, zones de texte, boîtes à cocher, canevas.
- La gestion des événements. Les Listeners et Adapters.
- L'association de gestionnaires aux composants graphiques.
- Les particularités de Swing.
Travaux pratiques
Construction de petites applications ou d'une petite interface graphique pour quelques objets dans l'étude de cas. Construction d'un petit éditeur ou prise en compte des événements dans l'interface graphique de l'étude de cas.
Introduction à la programmation Web : les applets
- Les principes et les constituants du Web.
- Les Applets : principes, cycle de vie, la classe Applet.
- Intégration d'une Applet dans une page HTML, le passage des paramètres, les problèmes de sécurité.
Travaux pratiques
Construction d'une Applet.
Les entrées/sorties et quelques classes utilitaires
- Les I/O. La hiérarchie des classes d'entrée/sortie. Quelques classes de manipulation des systèmes de fichiers.
- Quelques classes d'entrée/sortie travaillant sur les flots de bytes, sur les flots de char. Les entrées/sorties clavier.
- La sérialisation.
- Les classes d'encapsulation des types.
- Les classes système.
- Les classes de conteneur.
- Les classes d'observateur.
La connexion aux bases de données : JDBC
- Le modèle de JDBC et les principes généraux.
- Rappels de SQL.
- Connexion à un SGBD.
- Exécution des requêtes et traitement des réponses.
- L'utilisation des requêtes précompilées.
- Les concepts transactionnels (A.C.I.D) : atomicité, cohérence, isolation, durabilité.
Travaux pratiques
Sauvegarde/consultation de données dans une BD.