Maîtrise de la programmation en langage Java (SL-275)

 

 

Objectifs

À l'issue de ce cours, les participants sauront :

§                  Créer des applications Java qui exploitent les aspects orientés objet du langage (encapsulation, héritage et polymorphisme)

§                  Exécuter et lancer une application Java depuis la ligne de commande

§                  Utiliser des types de données et des expressions Java

§                  Utiliser des instructions de contrôle de flux en Java

§                  Utiliser des tableaux et d'autres structures de données

§                  Mettre en œuvre des techniques de traitement des erreurs à l'aide du traitement des exceptions

§                  Créer des interfaces homme-machine (IHM) orientées événements en utilisant les composants correspondants du langage Java : panneaux, boutons, libellés, champs et   zones de texte

§                  Mettre en œuvre des fonctions d'E/S pour lire et écrire des fichiers de données et des fichiers texte.

§                  Créer des programmes multithreads

§                  Créer un client TCP/IP (Transmission Control Protocol/Internet Protocol) simple communiquant via des sockets

Vue d'ensemble

Le cours 'Maîtrise de la programmation en langage Java' présente la syntaxe du langage Java, la programmation orientée objet en Java, la création d'interfaces homme-machine (IHM), les exceptions, les entrées/sorties de fichiers, les threads et les fonctions réseau. Les programmeurs déjà familiers avec les concepts orientés objet apprendront à développer des applications Java.. Le cours utilise le kit de développement logiciel Java 2 (J2SE SDK), version 5.0.

 

Public visé

Ce cours s'adresse aux programmeurs confirmés qui souhaitent ajouter la programmation en langage Java à leurs compétences ou aux personnes qui préparent l'examen de Programmeur certifié Sun pour la plate-forme Java 2.

 

Cours précédents

SL-110: Principes de base du langage de programmation Java (SL-110)

 

Contenu

Démarrage

§                  Décrire les principales caractéristiques de la technologie Java

§                  Écrire, compiler et exécuter une application simple en utilisant la technologie Java

§                  Décrire les fonctionnalités de JVM (Java Virtual Machine) REMARQUE : "Java Virtual Machine" et "JVM" indiquent une machine virtuelle pour la plate-forme Java.

§                  Expliquer la fonction du ramasse-miettes

§                  Énumérer les trois tâches de la plate-forme Java qui gèrent la sécurité du code

Programmation orientée objet

§                  Expliquer les techniques de modélisation : abstraction, encapsulation et packages

§                  Expliquer pourquoi il est possible de réutiliser un code d'application Java

§                  Expliquer les termes classe, membre, attribut, méthode, constructeur et package

§                  Utiliser les modificateurs privé et public pour les grandes lignes de l'encapsulation

§                  Appeler une méthode sur un objet particulier

§                  Utiliser la documentation en ligne de l'interface de programmation d'applications (API) Java

Identificateurs, mots-clés et types

§                  Utiliser des commentaires dans un programme source Java

§                  Faire la différence entre des identificateurs valides et non valides

§                  Reconnaître les mots clés Java

§                  Énumérer les huit types primitifs

§                  Définir des valeurs littérales pour des types numériques et textuels.

§                  Définir les termes d'une variable de type primitif et de type référence

§                  Déclarer les variables de type classe

§                  Construire un objet avec 'new'

§                  Décrire une initialisation par défaut

§                  Décrire la signification d'une variable de type référence

§                  Indiquer les conséquences de l'affectation de variables de type classe

Expressions et contrôle de flux

§                  Faire la différence entre variables d'instance et variables locales

§                  Expliquer comment initialiser des variables d'instance

§                  Identifier et corriger une référence possible avant l'affectation d'une erreur de compilateur

§                  Reconnaître, décrire et utiliser les opérateurs Java

§                  Faire la différence entre les manières légales et illégales d'instancier des types primitif

§                  Identifier les expressions booléennes et leur caractéristiques dans les constructions de contrôle

§                  Reconnaître la compatibilité des affectations et les casts requis dans les types fondamentaux

§                  Utiliser les instructions if, switch, for, while et do et les formes labellées de break et continue comme structures de contrôle de flux dans un programme

Tableaux

§                  Déclarer et créer des tableaux de type primitif, classe ou tableau

§                  Expliquer pourquoi les éléments d'un tableau sont initialisés

§                  Expliquer comment initialiser les éléments d'un tableau

§                  Déterminer le nombre d'éléments dans un tableau

§                  Créer un tableau multidimensionnel

§                  Écrire un code pour copier les valeurs d'un tableau à un autre

Conception de classes

§                  Définir héritage, polymorphisme, surcharge, redéfinition et invocation de méthode virtuelle

§                  Utiliser les modificateurs d'accès protégés et les valeurs par défaut (package-friendly)

§                  Décrire les concepts de constructeur et de surcharges des méthodes

§                  Décrire la construction complète et l'initialisation d'un objet

Fonctions de classes avancées

§                  Créer des variables, des méthodes et des initialisateurs statiques

§                  Créer des classes, des méthodes et des variables finales

§                  Créer et utiliser des types énumérés

§                  Utiliser l'instruction static import

§                  Créer des classes et des méthodes abstraites

§                  Créer et utiliser une interface

Exceptions et assertions

§                  Définir des exceptions

§                  Utiliser les instructions try, catch et finally

§                  Décrire les catégories d'exceptions

§                  Identifier les exceptions courantes

§                  Développer des programmes pour la gestion de vos propres exceptions

§                  Utiliser les assertions

§                  Faire la différence entre l'utilisation correcte et incorrecte des assertions

§                  Activer les assertions pendant l'exécution

Applications texte

§                  Écrire un programme qui utilise les arguments de ligne de commande

§                  Écrire un programme qui lit l'entrée standard

§                  Décrire l'entrée et sortie formatées de type C

§                  Écrire un programme qui peut créer, lire et écrire des fichiers

§                  Décrire la hiérarchie de base des collections du kit de développement Java 2 (Java 2 SDK)

§                  Écrire un programme qui permet d'itérer sur une collection

§                  Écrire un programme qui utilise des collections génériques

Construction d'interfaces homme-machine Java (IHM)

§                  Décrire le package AWT (Abstract Windowing Toolkit) et ses composants

§                  Définir les termes conteneurs, composants et gestionnaires de mise en page et décrire comment ils peuvent être utilisés pour construire une interface homme-machine

§                  Utiliser les gestionnaires de mise en page (layout managers)

§                  Utiliser les gestionnaires de mise en page les plus courants (FlowLayout, BorderLayout et GridLayout) pour réaliser une mise en page dynamique.

§                  Ajouter des composants à un conteneur

§                  Utiliser correctement les conteneurs Frame et Panel

§                  Décrire le mécanisme des mises en page complexes avec des conteneurs imbriqués

Gestion des événements à l'aide d'une interface homme-machine

§                  Définir les événements et la gestion d'événements

§                  Écrire un code pour la gestion des événements se produisant dans une interface

§                  Expliquer le principe des classes d'adaptation, comment et quand les utiliser

§                  Déterminer l'action de l'utilisateur qui a causé l'événement à partir des détails de l'objet de l'événement

§                  Identifier l'interface appropriée de l'écouteur pour une variété de types d'événements

§                  Créer des méthodes de gestion des événements appropriées à différents types d'événements

§                  Comprendre l'utilisation de classes intérieures et de classes anonymes dans la gestion des événements

Applications basées sur les interfaces homme-machine

§                  Identifier les composants AWT clés et les événements qu'ils déclenchent

§                  Décrire comment construire une barre de menu, un menu, et des éléments de menu dans une interface Java

§                  Comprendre comment changer la couleur et la police d'un composant

Threads

§                  Définir un thread

§                  Créer des threads séparés dans un programme Java, en contrôlant le code et les données que chaque thread utilise

§                  Contrôler l'exécution d'un thread et écrire un code indépendant de la plate-forme avec les threads

§                  Décrire les problèmes qui peuvent se présenter quand plusieurs threads partagent des données

§                  Utiliser wait et notify pour communiquer entre plusieurs threads

§                  Utiliser synchronized pour protéger les données contre leur corruption

Flux de données E/S avancés

§                  Décrire les principales caractéristiques du package java.io

§                  Construire des noeuds et des flux de traitement et les utiliser correctement

§                  Distinguer les readers et writers des flux et effectuer des sélections appropriées

Networking

§                  Développer un code pour définir la connexion réseau

§                  Comprendre les protocole TCP/IP (Transmission Control Protocol/Internet Protocol)

§                  Utiliser les classes ServerSocket et Socket pour l'implémentation de clients et serveurs TCP/IP