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
La spécification UML d'une étude de cas qui sera l'un des fils directeurs des exercices suivants.
Les constructions de base du langage
- Les variables : déclaration et typage.
- La définition des champs.
- Les méthodes : définition.
- Les expressions.
- Les instructions de contrôle : les instructions conditionnelles, de boucle, de branchement.
- Les tableaux.
- Les types énumérés, l'autoboxing.
- Les unités de compilation et packages : le contrôle de la visibilité des classes, le mécanisme d'import.
- Les imports statiques.
Travaux pratiques
Suite d'exercices simples permettant la prise en main de l'environnement de développement et la réalisation d'un programme simple. Utilisation des packages.
La définition et l'instanciation des classes
- Les classes et les objets.
- Les champs, les méthodes.
- Les constructeurs.
- L'autoréférence.
- Les champs et méthodes statiques.
- Les méthodes à nombre variable d'arguments.
- Les aspects méthodologiques : la conception des classes.
Travaux pratiques
Programmation de l'étude de cas.
L'héritage
- 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.
- L'extension. La définition des classes dérivées, les constructeurs, les références. Les aspects méthodologiques.
- La construction de hiérarchies de classes. La factorisation de code : les classes abstraites.
- L'utilisation simultanée de l'implémentation et de l'extension. Les classes abstraites.
- Les aspects méthodologiques : le regroupement des constantes, la spécification de services.
- La construction de hiérarchies de classes et d'interfaces.
- La généricité.
Travaux pratiques
Conception et construction d'une hiérarchie de classes et d'interfaces. Mise en place du polymorphisme et de la généricité dans l'étude de cas.
Les exceptions
- Les blocs de Try, la génération des exceptions.
- L'algorithme de sélection du catch().
- Les aspects méthodologiques : la construction d'une hiérarchie d'exception, l'utilisation des exceptions.
Travaux pratiques
Introduction des exceptions dans l'étude de cas.
La programmation des entrées/sorties
- La hiérarchie des classes d'entrée/sorties.
- Quelques classes de manipulation des systèmes de fichiers.
- Quelques classes d'entrées/sortie travaillant sur les flots de bytes, sur les flots de Char.
- Les entrées/sorties clavier.
Travaux pratiques
Lecture/écriture dans des fichiers.
La programmation graphique
- Les concepts de base : les principes de la visualisation et de la gestion des événements depuis jdk1.1.
- La visualisation des composants graphiques : les conteneurs et les Layouts.
- Quelques composants graphiques : labels, boutons, zones de texte.
- La gestion des événements : les Listeners et Adapters. L'association de gestionnaires aux composants graphiques.
Travaux pratiques
Construction d'une IHM.
Quelques classes utilitaires
- Les classes système.
- Les classes de conteneur.
Travaux pratiques
Mise en œuvre de classes utilitaires.