Formation : Commencer en Java
Objectifs
- Savoir utiliser un IDE (Eclipse ou IntelliJ) et configurer son environnement de travail.
- Connaitre les outils du JDK
- Découvrir et mettre en oeuvre la programmation Objet avec Java.
- Comprendre les bonnes pratiques de développement appliqué au language Java.
Méthode pédagogique
Les participants auront à compléter de petits projets (ie faire passer une série de tests unitaires existants).
Chaque projet fera l’objet d’une itération de 2H :
- 20 min de présentation de l’itération : Présentation de l’exercice et des concepts à utiliser.
- 1h20 de pratique.
- 20 min de rétrospective : présentation par les participants des difficultés rencontrés et de leur résolutions.
Au programme
L'environnement de développement
Présentation du JDKPrésentation d'Eclipse (Integrated Development Environment)
Perspectives, vues et éditeurs
Editer, compiler et exécuter du code
Importer des librairies externes
Assistants, raccourcis clavier, trucs et astuces
Refactoring : formatage, gestion des imports, génération de code
Bonnes pratiques et méthodes modernes
Introduction à l’eXtreme programming (TDD, Pair Programming) -JUnitCode lisible (auto documenté)
Une classe = Une responsabilité
Une méthode = une action.
Refactoring : extraction de méthode, inlining de méthode.
Déclarations et contrôle d'accès
Déclarer une classe, organisation en packagesDéclarer des membres d'une classe
Types de données : types primitifs, références, tableaux
Déclarer une propriété
Déclarer une méthode : paramètres et type de retour
Notion de constructeur, processus d'instanciation
Classes abstraites et interfaces
Modificateurs de visibilité : public, protected, package, private
Autres modificateurs : final, static
Opérateurs
AffectationEgalité et comparaison
Opérateurs booléens
Instanceof
Tableaux et Collections
Les types de collections : List, Set, MapComprendre l'API des collections : introduction aux types paramétrés (« generics »)
Choisir la bonne collection
Parcourir une collection ou un tableau : notion d'itérateur
Trier une collection ou un tableau : Comparable et Comparator
Rechercher dans une collection ou un tableau
Programmation objet
Introduction à la conception objet, notions de classe et d'instancePrincipes de forte encapsulation et de couplage faible
Notion de composition (« HAS-A »)
Notions d'héritage (« IS-A »), de polymorphisme, de cast
Surcharge (« overloading ») et redéfinition (« overriding »)
Notion d'identité d'objet : equals et hashCode