Mise en œuvre
- Utilisation des outils en ligne de commande.
- REPL, runtime Kotlin. Kotlin et Gradle.
- IntelliJ.
Travaux pratiques
Coder avec VI et compiler en ligne de commande. Créer un projet sous IntelliJ.
Les bases de Kotlin
- Val et Vars, inférence de type, types de base.
- Commentaires, packages, imports.
- Templates de string, ranges, boucles.
- Gestion des exceptions.
- Instanciation de classes, égalité référentielle et structurelle.
- Le This et les visibilités. Les flux de contrôles.
- Le Null, l'expression when, la hiérarchie des types.
Travaux pratiques
Ecritures d'algorithmes classiques.
La Programmation Orientée Objet
- Rappels sur la POO.
- Classes, niveaux d'accès, classes imbriquées, enum, méthodes statiques et objets compagnons.
- Les propriétés. Les interfaces.
- L'héritage. Les visibilités.
- Classes abstraites, classes scellées.
- Redéfinition, Polymorphisme.
- Délégation, data classes, déclaration déstructurée.
Travaux pratiques
Créer une application mettant en avant les possibilités orientées Objet du langage.
Null-safety, réflexion, annotations
- Types nullable, smart-cast, safe null access.
- L'opérateur elvis, safe casting, optional.
- La réflexion. Les annotations.
Travaux pratiques
Utilisation des annotations et découverte runtime.
Les génériques
- Fonctions génériques. Types génériques.
Les fonctions et la programmation fonctionnelle
- Fonctions et fonctions littérales. Fonctions d'extension.
- Paramètres par défaut et paramètres nommés.
- Surcharge des opérateurs. La récursion.
- Fonctions standards, génériques, pures.
- Java en Kotlin, Kotlin en Java.
- Fonctions de premier ordre et fermetures. Fonctions anonymes et références de fonctions.
- Techniques de programmation fonctionnelle. DSL perso.
Travaux pratiques
Mise en œuvre de la programmation fonctionnelle.
Les collections
- Hiérarchie de classes. Arrays, Lists, Maps, Sets.
- Lecture seule.
- Index et séquences.
Travaux pratiques
Modification des conteneurs utilisés précédemment.
Kotlin et Android
- Android Studio et un projet Kotlin.
- Classes de base du framework.
- Interfaces utilisateur. Le modèle de composants.
Travaux pratiques
Créer et émuler une application Android en Kotlin.