‫Content de te revoir.
‫Dans cette vidéo, je voudrais vous montrer les propriétés et vous apprendre comment fonctionnent les propriétés et parce qu'une vidéo serait trop
‫longue et j'ai créé une vidéo dans le passé sur les propriétés et c'était un peu trop déroutant comme cela
‫semblait.
‫J'ai décidé de le décomposer et de le réenregistrer parce que ce n'était tout simplement pas assez bon, comme il semble.
‫Donc, si vous trouvez une autre vidéo qui est totalement déroutante et ne vous aide pas du tout,
‫faites-le moi savoir, car je veux que ce cours soit le meilleur qui soit.
‫D'accord.
‫Donc, ce que nous devons faire, c'est tout d'abord créer une nouvelle classe.
‫Allons donc au projet et ajoutons une nouvelle classe, car je veux vous enseigner les bases des propriétés car
‫elles sont un aspect important ou un concept important que nous allons beaucoup utiliser.
‫C'est pourquoi il est vraiment important que vous en compreniez toute l'étendue.
‫OK, donc on commence par créer une nouvelle classe et je vais appeler cette classe box.
‫D'accord.
‫Alors soyez juste une classe très simple.
‫Donc, cette classe de boîte va être juste une classe qui a un certain nombre de variables.
‫D'accord.
‫Donc, par exemple, je veux juste calculer le volume de la boîte en fonction de sa longueur, sa hauteur et son
‫avec.
‫Très bien, créons simplement ces variables et je vais les rendre publiques pour le moment.
‫D'accord.
‫Je vais faire une longueur publique puis une autre.
‫Et celui-ci sera la hauteur et ensuite nous avons besoin de la largeur.
‫Et enfin je veux aussi avoir le volume donc le volume sera le résultat final de cette box.
‫D'accord.
‫Alors maintenant, j'ai un tas de variables.
‫Or, ces variables ne sont pas de simples variables.
‫Ce sont en fait des variables membres, ce qui signifie qu'il s'agit des variables au niveau de la classe dans ce
‫cas de la boîte de classe.
‫Ils ont donc un impact direct sur l'apparence générale de la boîte ou sur toute la structure d'une boîte, pour ainsi
‫dire.
‫D'accord.
‫Et nous allons voir comment nous pouvons utiliser les variables membres d'une manière différente ou même d'une structure différente, ce qui est encore
‫plus sûr, car le problème ici est qu'elles sont publiques, donc elles ne sont pas sûres.
‫Nous verrons comment nous pouvons régler cela.
‫Alors tout d'abord, allons de l'avant et créons une nouvelle méthode ici.
‫Et je vais juste appeler celle-ci les informations d'affichage, car l'idée sous-jacente est qu'elle affichera
‫simplement la longueur, la hauteur, puis elle calculera le volume et nous dira quelle est la taille du volume.
‫D'accord.
‫Je vais juste écrire une courte déclaration sur la ligne droite.
‫J'entre donc un double tap, ce qui crée cette déclaration de ligne droite de console ici pour moi.
‫Et ici, je vais juste dire quelque chose comme la longueur va être la première entrée et la hauteur.
‫Ce sera la deuxième entrée.
‫Je vais donc l'utiliser comme ça.
‫Et avec est cette troisième entrée.
‫Donc le volume est et puis j'ai la quatrième entrée.
‫D'accord.
‫C'est donc toute ma déclaration de ligne de conduite.
‫Et puis les variables que je veux utiliser sont la longueur et la hauteur.
‫Avec.
‫Et le volume maintenant le volume est quelque chose que je dois calculer en fonction de la longueur, de la hauteur et de la largeur.
‫Alors je vais juste faire ça.
‫Je vais juste dire que le volume est la longueur multipliée par la hauteur multipliée par la largeur.
‫Cela crée ce volume ou calcule le volume, car le volume est le résultat de ce calcul ici, allongez
‫les temps latéraux où ce sera le volume.
‫D'accord.
‫Alors maintenant, permettez-moi de le diviser en deux lignes pour que ce soit un peu plus lisible.
‫D'accord.
‫Alors maintenant, nous avons cette méthode, cet avion pour l'instant.
‫Allons de l'avant et sauvegardons ce fichier et accédons à notre programme.
‫Oui.
‫Ici, nous allons utiliser cette classe.
‫Nous allons créer un objet de cette classe.
‫Comment créons-nous des objets ?
‫Bien.
‫Alors j'en crée un nouvel objet, je vais appeler cette boîte et ce sera une nouvelle boîte.
‫C'est ainsi que vous créez un objet d'une classe ou une instance d'une classe.
‫Je crée donc une instance de cette boîte de classe.
‫Donc à peu près une variable de type boîte et des boîtes que nous avons créées nous-mêmes.
‫Maintenant, ce que je peux faire, c'est que je peux lui attribuer les valeurs
‫afin que je puisse continuer et dire, OK, la longueur va être trois, puis la hauteur va être quatre et le avec va être cinq, quelque chose comme
‫ça.
‫Bien sûr, j'ai également besoin d'un signe égal ici pour que cela soit correct.
‫Maintenant, ce que je peux faire, c'est continuer et démarrer la boîte d'appel.
‫Cette info de jeu, donc c'est plutôt cool.
‫Je n'ai plus besoin de cette déclaration de ligne claire ici.
‫Je peux maintenant enregistrer ce fichier et l'exécuter.
‫Exécutons donc ce fichier et il affichera toutes les informations et la console.
‫Alors voilà, Lenfest gratuit et Hyde est pour et avec ses cinq, donc le volume est de 16.
‫Très bien, donc ça a marché.
‫C'est génial.
‫Donc, cette information d'affichage a fonctionné et elle a simplement joué les détails que nous voulions.
‫Maintenant, ce que nous pourrions faire, c'est changer les valeurs ou ce que nous pouvons changer les valeurs des variables membres
‫de notre classe box, et nous pouvons le faire parce qu'elles sont publiques.
‫Droit.
‫Celui-ci est donc public.
‫Celui-ci est public.
‫Celui-ci est également public.
‫Ils sont donc tous publics.
‫Maintenant, c'est un code très peu sûr car à ce stade, si vous écrivez des robots membres, qui sont totalement publics, tout le monde
‫peut les modifier à tout moment.
‫Ainsi, toute personne pouvant créer un objet ou chaque classe pouvant créer un objet de boîte pourra
‫modifier toutes ces valeurs de cette instance de la boîte.
‫Donc tout le monde avait accès à cette boite peut la changer maintenant.
‫Et c'est quelque chose qui peut causer beaucoup de problèmes plus tard, juste au moment où vous programmez et une équipe et
‫le personnel peuvent alors vraiment devenir encombrants à faire comme ça.
‫Il y a donc de meilleures façons, il y a des façons plus propres de mettre cela en œuvre, parce que vous ne voulez peut-être
‫pas que cela soit paramétrable en détail.
‫Peut-être que vous voulez que la longueur ait une certaine valeur.
‫Personne ne peut l'ajuster.
‫Ensuite, ce que vous pourriez faire, c'est que vous puissiez faire ceci.
‫Très privé, donc ma longueur variable de membre va être privée et je vais juste lui attribuer une valeur par
‫défaut de trois.
‫Alors maintenant, chaque boîte que je crée aura la valeur pour la longueur de trois.
‫Ainsi, chaque boîte aura une longueur de trois pouces ou mètres ou quelle que soit la métrique que vous utilisez.
‫Alors maintenant, je ne peux plus attribuer de longueur.
‫Donc, vous voyez, j'obtiens une boîte d'erreur comme celle-ci inaccessible en raison de son niveau de protection.
‫Nous avons donc ajouté le niveau de protection en le rendant privé.
‫Donc maintenant, nous ne pouvons plus l'ajuster.
‫Alors, comment pouvons-nous encore le changer?
‫Eh bien, nous ne pouvons pas, pas de cette façon.
‫Nous devons donc mettre en œuvre quelque chose.
‫Nous devons implémenter une autre façon de modifier la longueur de la boîte.
‫D'accord.
‫Pour ce faire, nous pouvons implémenter quelque chose appelé setters et getters.
‫Donc, dans ce cas, nous ne pouvons même plus accéder à la longueur de la boîte.
‫Alors disons que je veux écrire la longueur.
‫Je souhaite donc consulter la longueur de la boîte de ligne droite, puis accéder à la longueur de la boîte.
‫Comme vous pouvez le voir, mon ID ne me montre même pas la variable.
‫Je ne peux pas accéder à la boîte de cette longueur, donc je ne peux pas la changer, mais je ne peux pas non plus la lire.
‫D'accord.
‫Je ne peux donc ni l'obtenir ni le régler.
‫C'est donc le réglage et cela obtient la variable.
‫Ce sont des termes très importants pour définir et obtenir, car ce que nous pouvons maintenant faire, c'est créer des
‫méthodes dans notre classe de boîte, ce qui nous permettra de définir ou d'obtenir la longueur variable.
‫Alors faisons juste ça.
‫Créons un.
‫Setar, donc public.
‫Voight définit la longueur, donc ce verbal définira la longueur maintenant, à quoi la définira-t-il ?
‫Eh bien, il a besoin d'une variable ou d'un paramètre ici.
‫Il a besoin d'une valeur ici à laquelle il peut le définir.
‫Donc ça va juste.
‫Besoin d'un entier ici, et je vais juste appeler celui-ci une longueur.
‫Donc, il va définir la longueur maintenant, je vais définir la longueur, la même longueur.
‫Maintenant, c'est déroutant et c'est également incorrect.
‫Je reçois donc un avertissement ici.
‫N'obtenez même pas d'erreur ici, car comme vous pouvez le voir, les couleurs sont différentes.
‫Droit?
‫Donc cette couleur et cette couleur, elles sont légèrement différentes.
‫Celui-ci est de cette couleur très claire et celui-ci est d'un bleu plus foncé.
‫Que se passe-t-il?
‫Parce que nous utilisons le même mot ici, nous utilisions la longueur ici.
‫Nous utilisons la longueur et ici, ici aussi.
‫Donc, cette longueur ici est en fait celle-ci ou devrait être cette longueur ici en haut.
‫Donc, si je veux le faire correctement, je peux utiliser ce mot-clé pour cela.
‫Ce faisant, je dis, OK, je veux changer la longueur, ce qui est.
‫Les pièces.
‫De cette classe appelée box, je souhaite donc modifier la longueur de cet objet.
‫OK, donc dans ce cas de l'objet qui est créé de la boîte de classe.
‫D'accord.
‫Donc, quelle que soit la longueur qui m'est attribuée, quelle que soit la longueur passée, une longueur définie est
‫appelée cette méthode sera.
‫Cette variable ici, et elle sera définie sur la longueur, qui est ma variable membre privée de ma boîte,
‫c'est très important car ce que je peux faire maintenant, c'est que je peux maintenant changer la longueur de
‫la boîte en le faisant définir longueur.
‫Je peux également définir la longueur sur, par exemple, trois et maintenant exécuter à nouveau le code et cela fonctionnera parfaitement
‫bien.
‫Et voyons, d'accord, nous sommes des longueurs libres, de l'hydrosphère et ainsi de suite.
‫Très bien, disons maintenant que je ne veux pas en avoir trois parce que c'était la valeur par défaut.
‫Maintenant, disons que je veux avoir la longueur et maintenant nous pouvons voir que cela fonctionne et que le volume s'est également
‫ajusté.
‫Cela a même fonctionné pour le calcul.
‫Alors c'est super.
‫Nous pouvons donc maintenant définir une variable, qui est une variable membre d'une classe.
‫C'est donc important.
‫On parle d'une autre classe.
‫Ce n'est pas dans la même classe.
‫Maintenant, ce que nous pouvons faire, c'est essayer d'accéder à cette longueur car elle est privée.
‫Droit?
‫Alors comment pourrais-je y accéder ?
‫Parce que j'ai peut-être vraiment besoin de cette variable ici quelque part.
‫Je veux accéder à la longueur, mais je ne peux pas le faire.
‫Donc, ce que je peux implémenter est quelque chose qui s'appelle un GETER.
‫Donc je reçois la longueur publique.
‫Et dans ce cas, le type doit être du même type que la variable que je veux retourner.
‫Et dans ce cas, je veux retourner la valeur de cette longueur où je veux retourner la longueur elle-même.
‫Droit.
‫C'est donc du type fin.
‫Je dois donc retourner un type de fin pour cette méthode.
‫Donc celui-ci sera long.
‫Et c'est aussi la convention d'utiliser le nom get avec un G majuscule puis le nom de la variable que vous
‫souhaitez obtenir.
‫Et dans ce cas, je veux obtenir la longueur variable et maintenant vous retournez simplement la longueur.
‫Maintenant, pour être plus précis, vous devez renvoyer cette longueur.
‫Bien sûr, vous pourriez juste pour cette longueur.
‫Mais lorsque vous ajoutez ceci, il est alors parfaitement clair que nous parlons ici de la variable membre.
‫Nous parlons donc de la variable qui est au plus haut niveau de cette classe.
‫Donc, ce n'est dans aucune méthode.
‫Vous ne pouviez même pas y accéder de cette façon.
‫Mais ici, c'est de cette longueur particulière dont nous parlons.
‫Donc si je clique dessus, vous pouvez voir mon I. RÉ. le marque automatiquement.
‫Et c'est aussi marquer cette longueur ici en bas.
‫Alors maintenant, je peux obtenir la longueur en utilisant get length en utilisant cette méthode publique et il est important qu'elle soit publique car si
‫elle ne l'était pas, je ne pourrais pas y accéder.
‫Donc, dans ce cas, j'enregistre à nouveau la boîte et maintenant j'obtiens la longueur en appelant cette méthode get length et
‫maintenant cela fonctionne à nouveau soudainement.
‫Alors maintenant, je peux aller de l'avant.
‫Et bien sûr.
‫À juste titre ici aussi, longueur et exécutons-le à nouveau, et cela va dire que la longueur de la boîte est
‫et dans ce cas, c'est quatre.
‫Très bien, ce n'est donc que la préparation des propriétés, mais c'est un concept important, les setters et les
‫getters.
‫C'est quelque chose que vous allez voir un peu aussi.
‫C'est donc une approche tout à fait correcte, mais il existe des approches beaucoup plus faciles et plus rapides.
‫Ce n'est donc qu'une façon de procéder.
‫Mais je vais vous montrer deux voire trois autres façons d'aller encore plus vite et d'avoir le même
‫type de protection, car ce que nous faisons ici s'appelle l'encapsulation.
‫Nous encapsulons donc l'excès de notre longueur.
‫La définition de est que l'encapsulation fait référence à la construction de données avec les méthodes qui opèrent
‫sur ces données ou à la restriction de l'accès direct à certains des composants d'un objet.
‫C'est donc exactement ce que nous faisons.
‫Nous restreignons l'accès à ce composant appelé length, qui fait partie d'un objet ou de notre boîte de classe dont
‫nous pouvons créer des objets.
‫D'accord.
‫Et nous créons ces setters et getters afin de toujours les ajuster.
‫Maintenant, la beauté est que vous pouvez définir comment vous voulez encapsuler.
‫Dans ce cas, je les ai rendus publics tous les deux.
‫Mais que faire si je ne veux pas qu'ils soient publics ?
‫Que faire si je veux que ce soit.
‫Ne convient pas, alors disons que je ne veux pas que quiconque puisse définir la longueur de ma boîte, alors ce que
‫je pourrais faire, c'est rendre celle-ci privée.
‫Alors maintenant seulement.
‫Les classes qui héritent de notre box ou de la box elle-même pourront définir la longueur de l'extérieur, nous ne pourrons
‫plus définir la longueur.
‫Donc, en définissant la longueur ici, cette ligne de code ne fonctionne plus car j'ai décidé, OK, si
‫quelqu'un veut définir la longueur, je voulais uniquement être la classe elle-même ou hériter des classes, mais pas des classes en dehors
‫de moi.
‫C'est quelque chose que vous pouvez modifier directement à partir d'ici, vous pouvez également dire, OK, même obtenir la
‫longueur ne serait pas autorisé en dehors d'ici.
‫D'accord.
‫Mais maintenant, ce qui est cool, c'est que vous pouvez aller de l'avant et les ajuster.
‫Alors disons que quelqu'un veut obtenir le volume.
‫Et maintenant, à ce stade, nous n'avons pas encore réglé le volume.
‫Donc, ce que nous pouvons faire à la place, nous pouvons aller de l'avant et dire que l'intérêt public obtient du volume.
‫Et si quelqu'un veut obtenir le volume, nous n'allons pas simplement rendre le volume, mais ce que nous ferons,
‫c'est que nous reviendrons.
‫Cette longueur de départ multipliée par cette pensée, la hauteur multipliée par cette pensée avec donc si quelqu'un veut obtenir
‫le volume, il n'obtiendra pas le volume directement.
‫N'accédez donc pas directement à cette variable.
‫Cette variable de volume.
‫Mais ils obtiendront en fait le résultat du calcul.
‫Alors maintenant, si je sauvegarde ceci et que j'avance et que j'utilise ici obtenir le volume, alors le volume des boîtes est et maintenant il affichera
‫le volume de la boîte.
‫Voyons donc, box, ce volume est de 60.
‫Alors maintenant, généralement, ce que nous faisons avec ces setters et getters, c'est que nous
‫ne donnons pas accès directement à la variable, à la variable membre, mais nous donnons seulement accès à une méthode
‫qui peut ensuite ajuster la variable et nous pouvons nous-mêmes décider comment nous passons cette valeur.
‫Alors, comment nous distribuons la valeur dans ce cas avec un grand volume, nous avons décidé, d'accord, nous ne voulons pas vous donner
‫le volume lui-même, mais nous voulons vous donner le résultat d'un calcul.
‫Ou nous pourrions dire, OK, si quelqu'un veut obtenir le volume, nous allons dire que
‫ce sera le volume multiplié par deux ou quelque chose comme ça, ou si quelqu'un veut régler la longueur et c'est quelque chose de négatif.
‫Alors disons que nous rendons cela à nouveau public, voix publique longuement et maintenant nous vérifions si.
‫Longueur.
‫Est inférieur à zéro.
‫Nous allons lancer une erreur, lancer une nouvelle taille d'exception, ou cette longueur doit être supérieure à zéro.
‫D'accord.
‫Donc, si la longueur est inférieure à zéro, nous levons une exception et cela fera planter notre programme afin que cette ligne
‫ne soit jamais exécutée.
‫Alors maintenant, essayons ceci.
‫Allons dans notre programme et définissons la longueur de notre boîte sur une valeur négative.
‫Mettons-le à moins quatre.
‫Maintenant, nous l'exécutons à nouveau et nous verrons que nous obtenons une exception.
‫Donc, notre programme se bloque et nous obtenons une exception ici disant.
‫Système, la longueur exceptionnelle doit être supérieure à zéro.
‫Donc, vous voyez, avec une exception levée, nous pouvons lancer nos propres exceptions.
‫On peut même dire ce que devraient dire les exceptions.
‫Et cela doit avoir du sens.
‫Il doit s'agir de quelque chose d'utile qui indique clairement quelle est l'erreur.
‫Dans ce cas, nous avons créé une erreur car nous avons défini la longueur sur quelque chose qui est inférieur à zéro.
‫D'accord.
‫C'est donc le pouvoir de ces setters et getters, parce que vous pourriez vous demander, pourquoi aurais-je besoin de ces setters et
‫de nous avoir ?
‫Pourquoi ne puis-je pas simplement accéder directement à la longueur si je n'ai que des setters et que je reçois aussi ?
‫Maintenant que vous le voyez, vous pouvez activement décider ce qui sera défini et ce qui sera obtenu si quelqu'un essaie d'accéder
‫à cette variable et de la modifier ou même simplement de la récupérer.
‫D'accord, donc c'était beaucoup plus long que ce que j'avais prévu et j'avais l'intention de faire cette
‫vidéo, mais je voulais vraiment que tout soit clair car cela va être un tremplin
‫important pour le prochain concept, qui va être Propriétés.
‫Vous allez donc voir comment nous pouvons résumer tout cela ou le rendre beaucoup plus court en utilisant des propriétés.
‫Je dirais donc passons à la vidéo suivante où nous verrons comment utiliser les propriétés et comment elles se rapportent
‫à ce que nous avons appris dans cette vidéo.
‫J'espère que ça a du sens.
‫Si vous avez des questions, s'il vous plaît laissez-moi savoir.
‫Et oui, écrivez juste un commentaire et bien sûr, des discussions.
‫Et au fait, merci beaucoup à tous ceux qui donnent leurs commentaires, car cela m'aide vraiment à améliorer le
‫cours si vous regardez simplement cela passivement, car c'est tout à fait bien.
‫Mais j'apprécie vraiment si vous avez des commentaires et c'est constructif et cela m'aide vraiment à savoir à quel moment quelque chose n'est
‫pas clair, car si vous dites juste, d'accord, cette vidéo est une ordure complète, alors elle ne sera
‫pas aussi utile que si vous dites, OK, je n'ai pas compris le concept une minute cinq ou quelque chose que je
‫comprends beaucoup mieux quel est le problème.
‫Alors merci encore et à bientôt dans la prochaine vidéo.