Hola amigos bienvenidos a esta clase donde vamos a estar viendo lo que es herencia dentro del país en
este caso habrán visto que efectivamente yo ya tengo mucho código escrito a diferencia de las otras
clases porque efectivamente herencia es un tema un poco complejo dentro de los lenguajes de programación
porque al mismo tiempo es como que no nos ponemos de acuerdo así que vamos a intentar hacerlo lo más
sencillo posible y vamos a hablar casualmente dentro de Python la herencia que es un concepto y una
herramienta muy importante dentro de lo que es programación orientada a objetos de herencia.
Como bien dice el término si no saben con lo que me refiero con herencia herencia vendría a ser en los
seres humanos el heredar el recibir algo de alguien de un pariente un objeto directamente igual al que
tenía el original y dentro de la programación orientada a objetos dentro de Python.
Lo que hacemos efectivamente con la herencia es reutilizar el primer objeto o sea vendría a ser la superclase
literalmente de hecho se llama así lo vamos a estar viendo la súper clase hereda o sea les brinda los
objetos los métodos que vamos a crear a otras subclases y estas subclases la van a utilizar y podemos
ir agregando como para optimizar recursos.
Ahora vamos a saber un poco a qué me refiero con todo esto bien lo que vamos a hacer en un principio
vamos a crear una.
Un ejemplo sin herencias sin herencia de perdón donde nosotros acá estamos creando una clase que se
llama fábrica vamos a continuar con lo que hemos visto hasta ahora con el ejemplo de la fábrica de autos
nosotros que creamos el constructor en donde colocamos Sails y vamos a tener una fábrica obviamente
una marca un nombre el auto el precio la descripción una cantidad de ruedas en donde ya Cazale agregó
el nombre que hemos visto en clases anteriores.
Por si quiero omitir la cantidad de ruedas y si quiero omitir el distribuidor por ejemplo entonces nosotros
acá tenemos marca nombre precio creamos los objetos digamos el valor de cada uno y luego lo que hago
es instancia o sea creó el objeto en este caso en auto voy a poner la fábrica y voy a pasar los valores
en este caso yo estoy colocando sólo cuatro porque ruedas de distribuidor no es obligatorio.
No sé si yo lo ejecuto.
Todo bien no tiene ningún error nada y si yo quiero ver el objeto puedo ver obviamente a través de esa
manera.
De esta manera podemos ver que en este caso de ranchero el nombre por ejemplo bien ataca todo bien puede
ser un poco molesto está recreando todo esto y acá empieza a tener una razón de ser la herencia que
estamos hablando hasta ahora donde nosotros en este caso como bien les dije al principio de la clase
vamos a crear una súper clase en este caso en este caso la súper clase va a ser fábrica donde nosotros
podemos encontrar un factor común a qué me refiero.
Lo importante es la herencia y la progresión en cada objeto en nuestra capacidad de análisis y nosotros
viendo esto nos podemos dar cuenta que las ruedas y el distribuidor es lo que puede llegar a variar
dentro de un auto y otro pero luego todo va a tener una marca auto va a tener un nombre todo auto va
a tener un precio y en el momento una descripción del auto entonces lo que nosotros podemos hacer acá
efectivamente lo vamos a señalar porque ya está escrito nosotros creamos la superclase fábrica en donde
directamente yo estas dos cosas que están viendo en pantalla y que no se ve tan colorido
no se ve porque está la parte oscura digo no se ve tan claro.
Omitimos esos dos valores que pueden llegar a estar o no. Y como ven acá yo llamo marca nombre y descripción
lo ejecuto y luego esto me va a molestar en el streaming.
Yo devuelvo el valor marca el nombre precio descripción y la llave realmente agregó el formato con los
vacada valor recuerden que la T es para la tabulación y los espacios.
Vamos a ver qué sucede con esto yo lo ejecuto.
Y de esa manera como ve la causa de la ejecución.
3 creamos esta súper clase en este caso de fábrica y ahora lo que voy a hacer yo es crear una subclase.
Se llama así esto una subclase que acá viene el punto importante.
Fijense donde yo acá tengo la súper clase vamos a escribirlo le voy a escribir una S de súper una C
de clase y este va a ser la slum clase donde yo acá lo que estoy haciendo fíjense acá tengo clase fábrica
y en la subclase se caracterizan por este formato yo escribo el nombre y la clase y entre paréntesis
la súper clase que va a heredar.
Entonces de esa manera Fíjense que yo puse un paz adentro pues más adelante ya también un poco ya están
haciendo trampa también un poco lo que vamos a ver en este caso lo dejo vacío pero inmediatamente hired
a todos los de acá adentro entonces yo a raíz de esta fábrica de la súper clase puedo crear una subclase
de auto sin mucho más esfuerzo y automáticamente sin escribir todo este código.
Yo ya lo heredé y fíjense lo que pasa.
Yo ejecuto y efectivamente en esta variable Z yo auto estoy pasando Ford Ranger un costo de 100 mil.
Y la descripción de camioneta lo imprimo y fíjense que efectivamente me aparece acá el dato acá verán
que me aparece como una tabulación.
Esto es por este detalle cómo lo podemos arreglar si yo agrego esta barra invertida y saco estos espacios.
Fíjense qué va a suceder.
Y de hecho ya que estábamos viendo que dentro de descripción y camioneta estamos juntos y para que todos
tengan la misma estabulación lo que vamos a hacer es agregar una tabulación mas a cada uno para que
todos entremos fíjense cómo esto va a cambiar.
Vieron menos camioneta de hecho no me gusta.
Vamos a quitarle una se me mucho.
Bueno bien quedó mucho mejor como verán esta es la virtud de esta Barreal colocada en un principio vacía.
Y como verán de esta forma nosotros podemos heredar lo de fábrica en nuestra clase en su clase auto
subclase auto hereda la súper clase de fábrica.
Si yo tenía que haber escrito ninguna línea más pero esto no termina acá vamos a ver otra gran ventaja
de todo esto.
Fíjense cómo yo por ejemplo aprovechando las bondades de la programación orientada a objetos no tengo
que volver a escribir el código de fábrica si yo quiero por ejemplo dentro de mi fábrica de autos crear
una subclase que sea un auto deportivo por ejemplo donde yo directamente acá estoy pasando la súper
clase fábrica segurida un montón de cosas ya de manera apriori.
Y qué sucede yo acá en el deportivo estoy creando tanto las ruedas como el distribuidor y yo ya lo creo
vacío que no sea obligatorio llenarlo y luego obviamente en mi estrellen retorno los valores donde agrego
redistribuidor y en el formato hago lo mismo porque esto se va a ver reflejado netamente en las llaves
y de esa manera yo por ejemplo acá puedo ejecutar yo puedo crear el objeto o sea la variable deportiva
de una instancia el objeto deportivo entonces repasó los valores un bol vagamente esto lo inventé no
tengo mucha idea de auto 54000 dólares el mejor distribuidor y que tiene tres ruedas y el distribuidor
tontito.
Si yo ejecuto esto fíjense que acá aparece el número diez y lo imprimo y como verán acá aparecen los
datos.
De hecho acá nosotros podemos volver a hacer lo que se llama más arriba.
Vamos a ver cómo queda
denme un segundo me porque me faltó ejecutar acá así lo refresco bien en Buenos Aires y ruedas también
y de esa manera vemos que podemos reutilizar el código nos ahorramos mucho trabajo y obviamente en desarrollos
mucho más amplios esto toma una importancia fundamental.
Bueno amigos espero que les haya gustado la clase.
Les dejo un abrazo digital.