Content de te revoir.
Dans la vidéo précédente, je vous ai montré comment appeler une méthode à partir d'une sous-classe de la classe parent.
Donc, dans notre cas, nous avons fait une attaque d'utilisateur.
Afin d'exécuter la méthode d'attaque et l'utilisateur, j'ai maintenant supprimé la méthode d'attaque car je veux essayer quelque chose
de différent.
Je veux créer une fonction d'initialisation ici et cette fonction d'initialisation prendra automatiquement.
Et puis disons que l'utilisateur recevra, disons, un e-mail.
Parce que tous les utilisateurs de notre jeu ont besoin d'e-mails.
Et ici, nous dirons simplement e-mail auto-point.
Nous appellerons l'e-mail.
Agréable et simple.
Maintenant ici.
Si je devais exécuter ce code et supprimons les données utilisateur tac pour le moment, nous avons donc le même assistant que
nous venons d'ajouter ceci ou désolé, ce init.
Et nous avons notre Wizard one, donc si je lance Wizard ici et disons que nous voulons lancer Wizard one dot email.
Si je clique, cours.
Hmm, j'obtiens que l'objet Wizard n'a pas d'e-mail d'attributs.
Hmm, mais je pensais que l'utilisateur allait être appelé lorsque nous créons l'assistant, à droite, lorsque nous instancions l'assistant
un.
Eh bien, le fait est que, bien que nous puissions hériter, disons, par exemple, si je fais cela, nous
pourrions hériter du.
S'identifier.
De l'utilisateur, et si je clique sur exécuter, on voit qu'on hérite que l'assistant a déjà une fonction Init, déjà
un constructeur, non ?
Alors, comment pouvons-nous résoudre cela?
Eh bien, une façon consiste simplement à ajouter un e-mail ici, n'est-ce pas, et à avoir l'e-mail.
Attribut juste ici, mais quel est le problème avec ça ?
Eh bien, c'est inefficace, non?
Parce que si je crée une classe Archer, je devrai faire la même chose.
Et nous savons que tous ces attributs seront les mêmes sur toutes nos sous-classes.
Nous voulons le faire ici.
Alors, quelle est la manière la plus efficace de procéder ?
Eh bien, nous voulons appeler la méthode d'initialisation de l'utilisateur de l'intérieur, d'accord, car chaque fois que
nous instancions un nouvel assistant, eh bien, cette fonction d'initialisation va être appelée.
Donc, la façon de le faire est de dire le point utilisateur.
Soulignez, soulignez dedans.
Et puis donnez-lui l'auto.
Et puis par e-mail.
Et puis l'e-mail est quelque chose que nous transmettons.
Donc, si je suis descendu ici, je peux le dire.
Merlin chez Gmail dot com va être l'e-mail.
Alors que maintenant si je le fais, disons.
E-mail DOT pour Wizzard One et je clique sur Exécuter.
Je reçois à nouveau l'e-mail de Merlyn, tout ce que nous avons fait, c'est d'appeler la méthode Init.
De l'utilisateur à l'intérieur de l'assistant.
Ainsi, lorsque nous avons instancié un nouvel assistant, nous avons exécuté cette fonction et à l'intérieur de cette fonction, nous avons
exécuté cet utilisateur et transmis l'e-mail que nous avons transmis en tant qu'argument.
Et ici.
Maintenant, c'est une façon de le faire, et puis il y a une autre façon, et ça s'appelle super et c'est un mot
clé.
Comme vous pouvez le voir, il est mis en évidence ici et tout ce que nous faisons, c'est courir super.
Et Super fait référence à la super classe ou à la classe au-dessus de Wizzard, qui est l'utilisateur, et il s'agit en fait
d'un nouvel ajout de Python, à deux points.
Avec super, nous n'avons plus besoin du self, donc notre code a l'air encore plus propre et tout ce que nous passons est ceci et
si nous cliquons, exécutons.
Nous obtenons toujours la bonne réponse super.
Nous permet de nous référer à l'utilisateur de cette façon et de ne pas avoir à nous soucier de nous passer.