1
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.
2
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.
- Les entrées/sorties clavier.
- L’API java.time et conversion de dates.
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.
3
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.
4
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.
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.
5
Les exceptions
- Les blocs de Try, la génération des exceptions.
- L'algorithme de sélection du catch().
- Les exceptions contrôlées et non contrôlées.
- Utilisation du bloc finally.
- 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.
6
Collections et généricité
- Notion de généricité.
- Intérêt de la généricité.
- L’interface collection et Types de listes.
- Les Map.
Travaux pratiques
Utilisation d’une classe générique et mise en œuvre des listes et map.
7
La programmation fonctionnelle
- Notion d’interface fonctionnelle.
- API java.util.fonction les quatres catégories d’interfaces fonctionnelles.
- Les collections, les méthodes forEach et removeIf.
- Syntaxe et utilisation des expressions Lambda.
Travaux pratiques
Utilisation d'expressions lambda avec une interface fonctionnelle et dans les listes.
8
Les Streams
- Relation avec la programmation fonctionnelle.
- Les opérateurs essentiels: filter, map, reduce.
- Notion d'opérations terminales et intermédiaires.
- Simplification d’algorithmes.
Travaux pratiques
Application des streams pour faire des traitements sur une collection.
9
Connexion à une base de données
- Principe et intérêt de JDBC.
- Notion de Connection, de Driver, de Statement et de ResultSet.
- Statement et PreparedStatement, différences importantes.
- Notion de transactions et bonnes pratiques.
Travaux pratiques
Mise en œuvre de JDBC avec une base de données.
10
La certification ENI
- Modalités et déroulement de l’examen.
- Conseils personnalisés.