-
Title:
-
Description:
-
Tout d’abord, on va modifier la
méthode de signature de calculatePrice
-
pour avoir le type de données de retour exact.
-
On va aussi assumer
qu’il y a 0 paramètre d’entrée.
-
C’est ici que la méthode du
calculatePrice est définie.
-
Le but de cette méthode est de
calculer le prix total de la commande
-
et ensuite de le renvoyer.
-
Le prix doit être un entier donc,
-
on doit changer le type de données
de retour void par int.
-
Voilà pour la première tâche.
-
Le quiz stipule aussi de faire attention
à ce qu’il n’ait pas de paramètre d’entrée,
-
c’est ce qu’on a ici.
-
Maintenant la deuxième tâche consiste à
modifier le contenu de la méthode
-
pour être sûr qu’on calcule
le prix exact de la commande.
-
Si la tasse de café est à 5,00$.
-
À l’intérieur de cette méthode, on met
la quantité de tasses commandées.
-
Et nous la multiplions par
5$ par tasse de café.
-
Ça équivaut au prix total de la commande.
-
Donc cette ligne de code est déchiffrée.
-
Mais je peux voir deux problèmes, la
variable de prix n’est jamais utilisée et
-
il y a une erreur qui dit qu’il y a
une instruction de retour manquante.
-
Il s’attend à ce qu’on lui renvoye un
entier, mais on ne renvoye rien.
-
Pour l’instant, notre code est tel
qu’on vient de le dire.
-
On a besoin d’une ligne qui dit retour et,
en faite, puis, mettre une valeur ici et
-
la valeur de retour est un prix.
-
Donc, je vais simplement mettre prix, qui
est une variable qu’on a définie plus haut.
-
Cool, donc, maintenant, toutes les erreurs
ont disparu.
-
On devrait aussi modifier le Java DOC.
-
Ainsi on précise qu’on
retourne le prix total.
-
Ainsi lorsque quelqu’un appelle cette
méthode, ils savent à quoi s’attendre.
-
Ok, donc, on a terminé toutes
les étapes pour définir cette méthode.
-
Maintenant, passons là
où la méthode se fait appeler.
-
Depuis la méthode submitOrder, on
devrait appeler la méthode calculatePrice.
-
À présent, calculatePrice,
se promène au milieu de nulle part.
-
Je vais le copier, et
je vais le coller ici en haut.
-
Parce qu’avant on aurait dû calculer
le prix de la commande dans la ligne,
-
dans la méthode du submitOrder, mais
maintenant, on a une méthode pour ça.
-
Donc je vais copier ceci ici.
-
Maintenant, débarrassez-vous du
point-virgule supplémentaire.
-
On peut remarquer que le prix est une
variable locale dans cette méthode, et
-
aussi dans cette méthode.
-
Ça n’est pas un problème si
elles ont le même nom,
-
car elles ont des portées de
variables différentes.
-
Donc, la variable de prix ici est tout à
fait indépendante de la variable ici.
-
Elles sont actualisées et créées
indépendamment l’une de l’autre.
-
Une fois que cette méthode a terminé son
exécution, cette variable de prix disparait.
-
Ok retournons à notre méthode de submitOrder.
-
Donc, on calculoe un prix et
-
on le stocke dans une variable, puis on
peut l’utiliser pour créer un message prix.
-
Donc, vraiment,
tout ce code peut rester le même.
-
On assemble l’entier,
-
le prix, à la chaîne de caractères totale
avec le symbole de la monnaie.
-
Ensuite on assemble « Thank you ! » et
ensuite affichez-le sur l’écran.
-
Donc, je vais supprimer ces lignes vides,
superflues, et les sauvegarder, et
-
ensuite on peut l’exécuter sur notre appareil.
-
Ok, donc je change la quantité, et
-
j’appuie sur ORDER, ensuite il montre
correctement 25$ comme prix.
-
Génial, ça marche.
-
Mais comment puis-je être sur que
calculatePrice fonctionne
-
vraiment, car il n’y a pas de changement
avec l’application d’avant pour l’utilisateur.
-
Voici quelques techniques que vous pouvez
utiliser pour vérifier que votre code
-
fonctionne vraiment.
-
Je pourrais lui demander de renvoyer
un nombre incroyable, comme 700.
-
Sauvegarder mon code et ensuite l’exécuter.
-
Maintenant, ce que je m’attends à voir
si je change la quantité et
-
que j’appuie que le bouton ORDER,
on devrait voir que le prix est 700$.
-
De cette façon je saurais que cette méthode
calculatePrice est réellement appelée.
-
Et ça l’est, cool.
-
Maintenant, je peux inverser ce changement.
-
Une autre façon de vérifier que cette
méthode est exécutée
-
est d’ajouter un point de rupture ici.
-
Donc, je vais cliquer sur
cette petite icône de bug et
-
ensuite notre apple entre dans le
mode débug.
-
Si je change la quantité et
-
que j’appuie sur order, je m’attends à
ce que l’application fasse une pause là.
-
Et elle la faite.
-
Donc, maintenant on est dans
la méthode de calculatePrice.
-
Il y a une variable globale, la quantité.
-
Et si je passe à la ligne suivante puis,
je vois qu’il y a une variable locale,
-
le prix. Et il est établi à 15$ car
la quantité est de 3, 3 fois 5 font 15, cool.
-
Donc, ça passe par la
méthode de calculatePrice, et
-
si j’appuie sur Resume, ensuite
il s’actualise correctement sur l’écran.