Bienvenido de nuevo.
En el video anterior, le mostré cómo llamar a un método de una subclase de la clase principal.
Entonces, en nuestro caso, hicimos un ataque de usuario.
Para ejecutar el método de ataque y el usuario, ahora eliminé el método de ataque porque quiero probar
algo diferente.
Quiero crear una función de inicio aquí y esta función de inicio se auto.
Y luego digamos que el usuario recibirá, digamos, correo electrónico.
Porque todos los usuarios de nuestro juego necesitan tener correos electrónicos.
Y aquí, solo diremos correo electrónico de punto propio.
Llamaremos al correo electrónico.
Agradable y sencillo.
Ahora aquí.
Si tuviera que ejecutar este código y eliminar tac de datos de usuario por ahora, entonces tenemos el mismo asistente, acabamos
de agregar esto o lo siento, este init.
Y tenemos nuestro asistente uno, así que si ejecuto el Asistente aquí y digamos que queremos ejecutar el correo electrónico de un punto del Asistente.
Si hago clic, corre.
Hmm, recibo el correo electrónico de Wizard Object no tiene atributos.
Hmm, pero pensé que se llamaría al usuario cuando creamos el asistente, correcto, cuando creemos una instancia del Asistente
uno.
Bueno, la cosa es que, aunque podríamos heredar, digamos, por ejemplo, si hago eso, podríamos
heredar el.
Registrarse.
Del usuario, y si hago clic en ejecutar, vemos que heredamos que el asistente ya tiene una función Init,
ya un constructor, ¿no?
Entonces, ¿cómo podemos resolver esto?
Bueno, una forma es simplemente agregar el correo electrónico aquí, correcto, y solo tener el correo electrónico.
Atributo justo aquí abajo, pero ¿cuál es el problema con esto?
Bueno, es ineficiente, ¿verdad?
Porque si creo una clase de Archer, tendré que hacer lo mismo.
Y sabemos que todos estos atributos serán los mismos en todas nuestras subclases.
Queremos hacerlo aquí.
Entonces, ¿cuál es una forma más eficiente de hacer esto?
Bueno, queremos llamar al método init del usuario desde adentro aquí, correcto, porque cada vez
que instanciamos un nuevo Wizzard, bueno, se llamará a esta función init.
Entonces, la forma de hacerlo es decir user dot.
Subrayar, subrayar en él.
Y luego dale el yo.
Y luego correo electrónico.
Y luego el correo electrónico es algo que pasamos.
De modo que si bajé aquí, puedo decir.
Merlin en Gmail punto com será el correo electrónico.
Así que ahora si lo hago, digamos.
DOT correo electrónico para Wizzard uno y hago clic en Ejecutar.
Recibo el correo electrónico de Merlyn una vez más, todo lo que hicimos fue llamar al método Init.
Del usuario dentro del asistente.
Entonces, cuando creamos una instancia de un nuevo asistente, ejecutamos esta función y dentro de esta función ejecutamos
a ese usuario y pasamos el correo electrónico que pasamos como argumento.
Y aquí.
Ahora, esta es una forma de hacerlo, y luego hay otra forma, y se llama super y es una palabra
clave.
Como puede ver, está resaltado aquí y todo lo que hacemos es ejecutar super.
Y Super se refiere a la superclase o la clase superior a Wizzard, que es usuario, y esta es en realidad una nueva
adición a partir de Python, dos puntos a.
Con super, en realidad ya no necesitamos el self, por lo que nuestro código se ve aún más limpio y todo lo que pasamos es esto
y, si hacemos clic, ejecutamos.
Todavía obtenemos la respuesta correcta super.
Nos permite referirnos al usuario de esta manera y no tener que preocuparnos por pasarnos uno mismo.