Bienvenido de nuevo.
Lo que no te he dicho es que cuando vuelves a aprender sobre programación orientada a
objetos y no solo en Python sino en cualquier lenguaje de programación que admita el paradigma OLP, esta idea de los cuatro
pilares de las cuatro cosas que la programación orientada a objetos hace realmente, realmente bien.
Y de hecho, hemos aprendido el primero, y esa es la idea de encapsulación.
¿Qué es la encapsulación?
La encapsulación es el comienzo de los datos y las funciones que manipulan esos datos y los encapsulamos
en un objeto grande para que guardemos todo en este cuadro con el que los usuarios, el código u otras máquinas pueden interactuar.
Y estos datos y funciones son lo que llamamos atributos y métodos.
Derecha.
Podemos encapsular la funcionalidad de nuestro personaje de jugador al tener un nombre y datos o atributos
de edad y también tener funciones que pueden actuar sobre este nombre y edad.
Entonces, por ejemplo, puedo tener un método.
Aquí dentro dice gritar.
O hablar.
Y este método de hablar ahora puede usar el nombre y la edad, puedo decir.
Mi nombre es el nombre de Self Dodd.
Y yo soy.
Autodidacta, ocho años.
De modo que si hago el jugador un punto hable.
Y ejecuto esto.
Mi nombre es Andre y tengo 100 años.
Estoy encapsulando la funcionalidad, si no tuviera esta clase, tendría, bueno, algunas variables y luego
dos funciones.
Pero al usar la encapsulación, he empaquetado esto en un plano en el que puedo crear
múltiples objetos para que cuando otras personas vean mi código, sepan, oye, este es un objeto completo con el que puedo interactuar.
Puedo usar de ciertas formas.
Ese personaje del jugador describe y también hemos visto esto en nuestros tipos de datos de Python integrados, ¿verdad?
Cuando creo una cadena.
Así, debido a la encapsulación, tengo toda esta funcionalidad disponible para mí, todos estos métodos a los
que puedo acceder para que si lo hago, digamos capitalizar, capitalizará todas mis fortalezas.
Tengo toda esta funcionalidad encapsulada para que yo la use.
Ahora bien, ¿por qué queremos empaquetar datos y funciones en atributos y métodos?
Bueno, porque esto nos da un poder extra, ¿verdad?
Si, por ejemplo, este personaje jugador no tiene ninguna acción, ningún método y solo tiene atributos.
Bueno, en ese caso, esto es como un diccionario, ¿verdad?
Es un poco inútil si imprimo el reproductor uno aquí y hago clic en ejecutar.
Tengo este objeto de jugador, pero puedo acceder a un nombre como este.
Y también puedo acceder a la edad.
Como esto.
Pero realmente no puedo hacerle nada.
Podría tener el mismo diccionario aquí, digamos jugador a eso va a ser igual a un
diccionario que tiene el nombre de Andre y luego la edad de cien.
Y la única diferencia real entre los dos es la forma en que accedo a esta información en lugar
de la notación de puntos, uso la notación de corchetes para acceder a las claves.
Para que cuando haga clic en ejecutar.
Oh.
Tengo que asegurarme de que también lo hago aquí para un jugador, si hago clic en ejecutar.
Nuevamente, es lo mismo.
Claro, puedo hacerlo de esta manera, pero es un poco inútil, ¿por qué no crear
un diccionario si todo lo que quiero son datos, pero de esta manera, estoy combinando cosas, empaquetando cosas en esas instancias,
en esas cajas que puede ser útil y también cosas que tienen significado.
Correcto, porque nuestro mundo está lleno de datos y acciones.
Derecha.
Incluso un árbol, por ejemplo, si tuviéramos una clase de árbol en nuestro mundo real, el árbol tendría tal
vez, ya sea de hoja perenne o perenne, tenga si tiene un contrato de arrendamiento o lo tiene, qué tan alto es.
Tendremos toda esa información, pero también acciones.
Derecha.
Puedo talar un árbol, el árbol puede crecer, el árbol puede extender sus raíces.
De esta manera podemos imitar lo que sucede en el mundo real con nuestro abrigo.
Eso es encapsulación y lo hemos visto.
Pero hablemos de nuestro segundo pilar y del siguiente video.