La programación orientada a objetos nos permite crear objetos que tienen sus propios métodos como ejecutar.
Y atributos.
Propiedades.
Es una excelente manera de agregar más funcionalidad a un idioma e imitar el mundo real, por ejemplo, usamos la idea de
trabajar para una empresa de juegos.
Aunque Python solo nos dio algunos tipos de datos, pude crear un personaje de jugador.
Y ahora mi jefe está feliz porque este personaje de jugador se puede usar en todo el juego.
Y todos los demás programadores tienen que hacer es ejecutar esta línea con el nombre personalizado y la edad del personaje.
Entonces OP nos permite escribir código que es repetible, bien organizado y también eficiente en memoria.
Correcto, porque solo escribimos esto una vez.
Entonces, si quieres ser un gran desarrollador, OP es algo que necesitas saber y
necesitas entender porque, bueno, así es como quieres organizar tu código, pensando menos en
procedimientos y pensando más en términos de funcionalidad, agrupando datos. como atributos, junto con métodos para crear esta
clase que es capaz de imitar algo del mundo real.
Ahora, quiero mostrarte una herramienta útil aquí.
Vimos que cuando hago el jugador Dot, mi editor me muestra lo que tengo disponible, las propiedades, así como estos
cuadros violetas, que son los métodos que tengo disponibles.
Y de buenas a primeras, ves que tengo un nombre y corro, pero luego tengo todos estos otros que
obtuve por defecto.
Ahora, estos son todos Dundar o métodos mágicos en los que vamos a entrar.
Pero la clave aquí es que si hago algo como ayudar, que es una función nueva que
quizás no hayas visto antes, comentemos esto.
Si hago clic, corre.
De hecho, obtengo, bueno, el plano completo del objeto.
Si hago algo como una lista.
Y hago clic en ejecutar.
Nuevamente, muestra el modelo que tiene y esta es una excelente manera de ver qué modelo de clase tienen algunos de los tipos
de datos de Python.
Ahora, esto es algo que revisaremos más tarde.
Pero quiero volver a este personaje de jugador ahora aquí, vimos que podemos crear atributos y los
atributos son piezas de datos que son dinámicas.
Es decir, cuando creamos una instancia de un objeto, serán únicos para ese objeto específico, como el nombre y
la edad.
Y tuvimos que usar esta palabra clave propia para asegurarnos de que fuera dinámica.
Sin embargo, hay otra cosa llamada atributo de objeto de clase, y podría verse así, digamos que teníamos el personaje de
jugador y él tenía que, digamos, ser un miembro de pago para poder jugar este juego.
Tienes que haber jugado o tienes que haber obtenido una membresía.
Así que tengamos una membresía igual.
Verdadero.
Atributo ahora, a diferencia de este, ves que está en la misma línea que nuestros métodos y esto se
llama un objeto de clase.
Realmente.
Y un atributo de objeto de clase, a diferencia de estos atributos de clase regulares, es diferente porque, bueno,
no es dinámico, es estático.
Entonces, si hago clic en.
Ejecutar aquí y queremos asegurarnos de que imprimimos algo, así que imprimamos el reproductor en.
Y hago clic en ejecutar.
Bueno, tengo el jugador, eso es genial, pero si hago membresía de puntos.
Y hago clic en ejecutar.
Mira eso, consigo eso igual para masticar si hago el jugador uno aquí.
También, y hago clic en ejecutar.
Consigo que todos los jugadores tengan la membresía configurada como verdadera, pero esto no es dinámico.
Es un atributo de objeto de clase, lo que significa que es un atributo real de esta clase.
Y esto es algo que usamos cuando no hay cambios.
Esto será cierto y existirá para todos los objetos, por lo que realmente no puede modificarlo, solo todos los objetos que
instanciamos tendrán acceso a él.
Así que esto no cambia entre instancias y podemos usar esto aquí abajo también o en cualquier lugar en este modelo
de clase, de hecho.
Por ejemplo, digamos que queremos comprobar si.
La membresía existe, por lo que estamos verificando si la membresía es verdadera.
Lo que quiero decir, siempre lo es.
Entonces esto es un poco redundante, pero aquí.
Solo puedo decir si la membresía es verdadera, entonces voy a asignar un nombre y una edad, pero para que podamos acceder a
la membresía, tendré que hacerme la membresía de Dorte porque recuerda, Self se refiere a este personaje de
jugador para que si ejecuto esto.
Todo sigue funcionando, y si lo hago, el jugador un nombre de punto.
Esto todavía funciona, o puedo referirme a esto por el personaje del jugador real, es decir, el personaje del jugador, la membresía.
Entonces, si hago clic en ejecutar aquí.
Esto también funciona porque es un atributo de objeto de clase.
Si tuviera que correr, cambiemos esto para gritar y gritar, va a querer correr.
Eliminemos esta línea.
Se va a imprimir.
Una cadena F que dice mi nombre es.
Y dale un nombre, ¿crees que esto funcionará? Intentémoslo, digamos gritar.
Y asegúrese de ejecutar ese método y luego haga clic en gritar nuevamente.
Si hago clic, corre.
Recibo un nombre de aire que no está definido en línea, 11, si voy a la línea once aquí.
El nombre no está definido.
¿Porqué es eso?
Bueno, porque no nos hemos usado a nosotros mismos.
Así que hagamos el nombre del punto propio.
Y si hago clic en ejecutar.
Ahí tienes.
Mi nombre es Tom.
Mi nombre es Cindy.
Está bien, genial, y puedo hacerlo tú mismo, porque lo paso aquí como el primer parámetro y todos los
métodos reciben el primer parámetro, un self para que podamos usarlos.
Pero, ¿podría simplemente hacer jugador, personaje, nombre de dominio si hago clic en ejecutar?
Recibo una obra de teatro, un personaje no tiene nombre de atributo.
Ahora, ¿por qué es eso?
Porque el nombre no es un atributo de objeto de clase.
En realidad, no es una propiedad o un atributo del carácter del jugador.
No, está definido en nuestra función constructora son función init.
Así que eso es un poco complicado aquí y algo a lo que tendrá que acostumbrarse a un atributo de objeto
de clase es algo que no cambia en diferentes instancias en comparación con un atributo o un atributo de clase
es algo que es dinámico y específico para cada clase. objeto.
La forma en que accedemos a ellos es diferente, donde en realidad podemos acceder a la membresía como esta, pero para que
podamos acceder a un nombre o edad en cualquier lugar dentro de nuestra clase, tenemos que usar el nombre de la selfie,
por lo que cada vez que creamos una en una clase, incluso si creo uno nuevo aquí y
digamos que este nuevo se ejecutará.
Bueno, una vez más, tengo que usarme a mí mismo como parámetro y luego cualquier otra cosa que quiera agregar.
Y aquí.
Como segundo parámetro, para que cuando haga clic, digamos ejecutar.
Paso en el.
Hola, argumento como este.
Sé que esto es mucho, pero espero que comiences a seguir las reglas de las clases una vez que recuerdes
estas reglas, entonces será cada vez más fácil.
Pero practicaremos esto un poco más en el siguiente video.