Java 8 : Les nouveautés

Définir les interfaces fonctionnelles

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Les interfaces fonctionnelles sont les représentations sous forme d'objets des fonctions à déclencher.

Transcription

Dans cette vidéo, j'aimerais que nous parlions des interfaces fonctionnelles. Ce que l'on appelle les interfaces fonctionnelles, ce sont tout simplement des interfaces qui représentent une fonction. Je prends l'exemple d'une interface que je vais appeler Traitement, c'est une interface toute bête. Normalement une interface propose, comme on le voit ici, une fonction. Alors je vais mettre effectivement une fonction traite pour le traitement, c'est assez logique. Et on va traiter par exemple des ressources, peu importe le type réel de ce que l'on manipule. Alors évidemment, la classe ressource ici n'existe pas, Ici donc, pour noter qu'il s'agit d'une interface fonctionnelle, je vais tout simplement l'affirmer avec une annotation, FunctionalInterface. Alors rien de particulier pour cette annotation, simplement qu'elle marque cette interface comme interface fonctionnelle. Pour faire taire le compilateur, je vais me créer une classe Ressource, pour laquelle je vais peut être placer un booléen, status par exemple, et une méthode GetStatus qui me permet d'y accéder. Donc la ressource est disponible ou pas. Elle est disponible lorsqu'elle est traitée, par exemple. Donc en gros, le traitement va s'appliquer sur une ressource. Ici, au niveau de l'utilisation des interfaces fonctionnelles, voilà comment je pourrais faire. Traitement t1, par exemple, représenté comme pour une Ressource r. Eh bien je vais proposer de faire le traitement sur la ressource. En l'occurrence ici il me répond : est-ce que r.getStatus(). référencer une Lambda Expression, grâce à ces interfaces fonctionnelles. Ce t1 ensuite, je peux essayer de le déclencher sur une ressource quelconque. Là je peux maintenant venir déclencher ma fonction sur une ressource que je fournirai. En fait ces interfaces fonctionnelles, ce sont tout simplement des interfaces qui sont des types qui représentent les fonctions elles-mêmes. Alors quel peut être l'intérêt de représenter sous forme de référence une Lambda Expression ? Et imaginons par exemple une méthode qui lance les traitements, voilà, LanceTraitements, on peut prendre en paramètre, en référence, le traitement à déclencher. En fait ici j'ai en paramètre Je peux m'imaginer d'ailleurs que j'ai une ressource r à traiter et LanceTraitements en fait ce qu'elle va faire, c'est un truc du genre if, par exemple (t.traite de (r)) ou bien .println ("traitement achevé"); Et ici else ("Traitement en cours"); Donc ce que l'on voit ici, dans l'intérêt de réussir en quelque sorte les fonctions grâce à ces interfaces fonctionnelles, c'est la possibilité d'utiliser ces interfaces comme des types. Je vais par exemple l'appeler lance Traitement en passant (new Ressource() et en passant ,t1). Si demain le traitement est différent, là il faut le static à cause du main qui est static. Mon exemple est un peu simple mais j'ai un static pour le main, il faut le static pour le lanceTraitements. Ҫa ne change rien à mon discours sur les interfaces fonctionnelles. En l'occurrence ici, je vais pouvoir avoir un traitement qui sera le suivant. Je peux imaginer un autre traitement qui fait exactement le contraire. Enfin bref, je peux imaginer plusieurs traitements pour une ressource r. Donc si le statut est vrai, alors false : true, voilà, là j'inverse en fait l'affaire. Ici j'applique sur t1. Si je change en mettant sur t2, eh bien je vais avoir un autre traitement déclenché. Donc l'interface fonctionnelle, c'est tout simplement la représentation des Lambda Expressions sous forme de références, sous forme d'objets. je vais la proposer plus loin. Ce qui est intéressant ici, c'est de voir que l'on va pouvoir

Java 8 : Les nouveautés

Découvrez les nouveautés introduites par la version 8 de Java. Voyez les expressions lambda, les références de méthodes, les méthodes par défaut dans les interfaces, etc.

1h44 (21 vidéos)
Aucun commentaire n´est disponible actuellement
Logiciel :
Spécial abonnés
Date de parution :17 août 2015

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !