YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

French subtitles

← Création d'une méthode statique - Introduction à la programmation en Java

19-19 Création d'une méthode statique

Get Embed Code
4 Languages

Showing Revision 3 created 05/29/2018 by Michel Smits.

  1. Alors, essayons ceci.
  2. Je mettrais toute cette fonctionnalité
    dans une méthode,
  3. donnez-moi une minute pour
    arranger ça et je vous montrerai.

  4. Comme promis, voici ma méthode.
  5. Cette méthode continue à
    lire un nombre entier
  6. jusqu'à ce qu'elle trouve celui qui est
    dans la gamme désirée et elle le renvoie.
  7. Le code exact n'importe
    peu pour l'instant.
  8. Vous pouvez y jeter un coup d’œil
    dans la distribution du code

  9. si vous le souhaitez.

  10. Et, ici, je l'appelle.

  11. Mais, il y a un problème.
  12. Quand je compile, je reçois
    un message d'erreur
  13. et, ce message d'erreur, pour le moment,
  14. doit vous paraître comme du charabia.
  15. Il parle de méthodes
    non statiques et statiques.
  16. Je vais vous expliquer ce qui se passe

  17. et pourquoi le compilateur est mécontent.
  18. D'habitude, nous appelons
    une méthode sur un objet
  19. et je ne l'ai pas fait ici
    car je me suis dit,
  20. je suis en démonstration d'ascenseur
  21. et devrais être capable d'appeler
  22. une méthode de démonstration d'ascenseur.
  23. Mais le problème est
    que j'appelle depuis main.
  24. Il n'y a donc pas d'objets
    de démonstration d'ascenseur
  25. et le compilateur s'en plaint.
  26. Donc, en revenant ici,
  27. c'est le nœud du problème.

  28. ReadBetween n'est pas appelé sur un objet
  29. et il n'y a pas de grand
    objet pour l'appeler.
  30. Ça aurait été bien de
    l'appeler sur le scanner,
  31. mais comme je l'ai déjà dit,
    on ne peut pas faire ça.
  32. Lorsque vous êtes
    dans ce genre de situation
  33. où vous avez une méthode qui ne peut
    pas vraiment être appelée dans un objet,

  34. alors vous faites une méthode statique.
  35. La méthode statique est une méthode
    qui n'est appelée dans aucun objet.
  36. Une solution est, simplement, de revenir
    dans la démonstration d'ascenseur
  37. et de déclarer la méthode
    auxiliaire statique,
  38. comme ça.
  39. Maintenant, tout ira bien
  40. et l'erreur de syntaxe est partie.
  41. Donc pour répondre à
    notre question initiale,
  42. il est parfaitement légitime de mettre
    readBetween dans ElevatorDemo
  43. comme une méthode statique mais
    peut-être que ce n'est pas optimal.
  44. Parce que si je veux utiliser
    cette méthode
  45. parfaitement astucieuse dans
    une autre classe?
  46. Donc, readBetween est
    une méthode qui semble utile
  47. dans toutes les situations où
    vous voulez lire une valeur

  48. à partir d'une certaine distance.
  49. Alors nous, nous pourrions vraiment
    vouloir mettre cela ailleurs,
  50. et la classe sur laquelle je la mettrai,
  51. j'appelerai IO Helper.
  52. J'ai préparé ce cours pour vous,
    je vais vous montrer.

  53. Voici la classe IO Helper.
  54. Voici la méthode readBetween.
  55. Et de nouveau, c'est une méthode statique,
  56. car je ne vais pas réellement faire
    des objets de la classe IO Helper.
  57. Je veux juste que ce soit
    la foyer pour cette méthode.
  58. Cela signifie que lorsque
    j'appelle la méthode,
  59. je dois spécifier le nom
    de la classe comme ceci.
  60. Ici vous voyez le nom de la classe,
    IOHelper, le nom de la méthode.
  61. Les méthodes statiques ne
    sont pas vraiment courantes
  62. parce que, comme je l'ai dit,
    la plupart du temps,
  63. un objet réel est responsable
    de l'exécution d'une méthode,
  64. mais cela arrive.
  65. En fait, vous en avez
    vu quelques-uns.
  66. Dans la leçon 4, vous avez vu
    un nombre de méthodes statiques
  67. dans la classe maths.
  68. Là encore, la syntaxe se compose
    du nom de la classe,

  69. un point, puis le nom de la méthode.
  70. Et encore une fois il n'y a aucun
    objet de la classe maths.
  71. Nous appelons simplement la méthode
    racine carrée directement sur la classe.
  72. Vous cherchez sans doute la raison
    de l'utilisation d'une méthode statique?
  73. Pourquoi ne pas simplement appeler
    la méthode sur le numéro 2?
  74. C'est comme ça dans Java,
  75. dans Java, les nombres
    ne sont pas des objets,
  76. donc vous ne pouvez jamais
    appeler une méthode sur un objet.
  77. Un appel tel que
  78. 2. la racine carrée peut être plus
    logique, mais c'est une erreur.
  79. Donc pour résumer, la méthode statique
    appartient à une classe.
  80. Elle n'est pas appelée sur un objet et
    elles ne sont pas vraiment courantes.
  81. Pourquoi les appelle-t-on
    des méthodes statiques?
  82. Il n'y a pas de raison
    valide en fait.
  83. C'est un vestige d'un autre langage
    de programmation beaucoup plus ancien.
  84. Il n'y a rien de particulièrement
    statique à leur sujet.
  85. En plus des méthodes statiques,
    il existe des variables statiques.
  86. Jetons un coup d’œil à eux.