Java pour les développeurs Android

Combiner les variables statiques

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Partez à la découverte des méthodes et des variables statiques dans les sessions beans. Ainsi, vous serez en mesure de compléter votre classe Élève.
06:26

Transcription

Dans cette vidéo, nous allons voir comment mettre de nouvelles fonctionnalités à notre classe Élève, L'intérêt du mot-clé statique et du mot-clé final. Le contexte. Admettons que nous voulions différencier les élèves adultes des élèves enfants. Les élèves adultes sont ceux qui ont plus de 18 ans et les élèves enfants, ceux qui ont moins de 18 ans. Comment je le ferai au niveau de l'affichage ? Au moment d'écrire chaque élève, j'ai donc une instance d'élève différente à chaque itération, je crée une condition « if », je prends mon élève, je récupère son âge et je le compare à 18. S'il a plus de 18 ans, c'est que c'est un adulte, sinon c'est un enfant. On lance. J'en ajoute plusieurs. J'ai des adultes et des enfants. On a ici un 18 qui se balade. Ce 18 est une valeur écrite, dite « en dur ». Admettons que, ce 18, on en ait besoin à plusieurs endroits dans tout notre projet, genre une vingtaine de fois, parce qu'on teste à plusieurs reprises, dans plusieurs écrans, s'il a 18, que, à un moment, on décide de passer à 21. Dans ce cas-là, il faudrait parcourir tout notre code, aller chercher à droite à gauche, pour essayer de retrouver tous nos 18. Si on en oublie un, on se retrouve avec des erreurs d'exécution. Il est plus intéressant de le mettre dans une variable. En plus, le nom de cette variable pourra nous aider à savoir ce que représente ce 18. Ce 18 représente l'âge adulte d'un élève, on va donc le mettre dans la classe « EleveBean ». Si je l'écris comme ça, à chaque fois que je vais créer un nouvel élève, il va y avoir un morceau d’espace mémoire pour chaque élève pour stocker ce 18. Si j'ai dix élèves, j'aurai dix espaces mémoire avec chacun ce 18. Donc j'aurais écrit dix fois 18 dans ma mémoire. On voit ici qu'on va utiliser de l’espace mémoire pour rien, alors qu'en fait, il est commun à tout le monde. De plus, pour l'utiliser, je serai obligé de créer un élève. Mais si je veux juste savoir l'âge où on devient adulte, pour afficher par exemple une ligne, je serai obligé de créer un élève juste pour avoir accès à cette valeur. On va donc la déclarer statique. Le fait de la déclarer statique : elle sera créée au début, au lancement de notre projet. Toutes les valeurs statiques vont être créées une fois et je pourrai créer autant d'élèves que je veux, les seuls espaces mémoire qui seront créés pour chaque élève, ce sont les variables non statiques. Pour l'utiliser, comme elle n'est pas propre à un élève en particulier, on l'appelle sur la classe, et non sur la variable. Ici mon âge est appelé sur ma variable élève, il change à chaque itération, alors que mon 18 on va l'appeler directement sur la classe. Ce 18 n'a pas vocation a évolué durant l'exécution de mon programme. Il sera toujours égal à 18. On peut donc le mettre en final. On indique que c'est une valeur constante qui ne sera pas modifiée, et surtout qui ne peut pas être modifiée. Si je tente de la modifier, je reçois une petite erreur qui me dit que la valeur a été déclarée comme finale et qu'elle ne peut donc pas être modifiée. C'est l'intérêt. Voilà pour le mot-clé statique et le mot-clé final. On va compléter notre classe Élève en y ajoutant une méthode. Cette action, qui nous dit si c'est un adulte ou un enfant, pourra être beaucoup plus compliquée. Ici, elle est juste représentée par une instruction, mais on pourrait bien en avoir une dizaine. Même chose : c'est peut-être quelque chose dont on va avoir besoin régulièrement. Plutôt que de copier-coller à plein de reprises tous ces morceaux de code, on peut les déporter dans la classe Élève, et comme ça on aura juste à appeler la méthode adéquate. C'est ce que je vais faire ici. Je vais créer une méthode « isAdulte » qui retournera un boolean pour dire oui ou non, « true » ou « false ». Comme je suis dans la classe Élève, j'ai accès à l'âge de l'élève. Je le compare à l'âge adulte. Je le compare à l'âge adulte. Et ici, la question : quel élève ? Ça sera simplement l'âge de l'élève sur lequel la méthode a été appelée. Ici, l'âge, c'est l’âge de l'élève sur lequel on est en train d'itérer. Ce sera la même chose ici. Je n'ai plus qu'à faire « .isAdulte ». J'obtiens le même résultat. Dernier petit point. Une méthode peut aussi être statique. C'est-à-dire qu'elle n'est pas propre à un élève en particulier et qu'on peut l'appeler directement sur la classe. Je vais réécrire la méthode isAdulte, mais cette fois je vais la mettre en statique. Je vais juste l'appeler « isAdulteStatic » pour ne pas qu'elles aient le même nom. Si je tente de mettre le même code, comme c'est statique, c'est-à-dire pas propre à un élève en particulier, là, étant propre à un élève en particulier, cette méthode ne sera pas appelée sur un élève, donc je ne peux pas avoir d'âge. Je ne peux mettre que des choses qui ne sont pas dépendantes de mes attributs. Quel est l'intérêt d'avoir une méthode statique ? Nous en avons déjà utilisé. Par exemple, la méthode « w » de la classe Log. Si je vais la voir, elle est déclarée statique. Nous n'avons pas eu besoin de faire « Log log = new Log », notre « Log.w » car, à son utilisation, nous n'avons besoin d'aucun attribut. Mais ne vous inquiétez pas, nous reviendrons sur l'utilisation des méthodes statiques durant cette formation. Vous avez maintenant vu le mot-clé statique, le mot-clé final, et comment compléter notre EleveBean.

Java pour les développeurs Android

Prenez en main la syntaxe et les concepts de Java pour vos développements d’applications pour Android. Abordez les variables, les chaînes de caractères, les conditions, etc.

7h01 (65 vidéos)
Aucun commentaire n´est disponible actuellement
Logiciel :
Spécial abonnés
Date de parution :24 avr. 2017

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 !