Curso Avanzado de Desarrollo en Python
Capítulo
>
Nivel
Clases Avanzadas
Herencia de Objetos
En este capítulo vamos a explorar cómo sacar el máximo provecho a las clases, aprendiendo diversas técnicas y funciones específicas de las clases que pueden ampliar las capacidades de los objetos en Python.
En este nivel aprenderemos sobre una de las características ampliadas más destacadas de las clases, la herencia de objetos. Esta característica nos permite crear una clase que hereda sus funciones de otra clase, permitiéndonos crear objetos más dinámicos mientras mantenemos un conjunto básico de propiedades.

Objetivo
Llena y guarda botellas de vino usando la herencia de objetos con tus clases.
Esta sala se utiliza para llenar botellas de vino, hay algunas que aún necesitan ser embotelladas y empaquetadas; esto se logra mejor utilizando clases. Las clases te permitirán crear objetos que pueden poseer diversas características, en este caso diferentes tipos de botellas de vino. Los objetos creados usando clases pueden heredar características de otras clases, estas se denominan clases hijas, mientras que las clases que se usan como base para crear más clases se llaman clases padres.
# Parent Class
class wine_bottle:
color = ""
def set_bottle(self):
player.place("empty bottle")
# Child Class
class fill_bottle(wine_bottle):
def fill_bottle(self):
player.combine(["empty bottle", self.color + " wine"])
player.speak("The bottle's color is: %s" % self.color)
player.collect(self.color + "bottle")
Se han configurado dos (2) clases para usar, la clase padre se utiliza para colocar una botella frente a un barril para ser llenada, la clase hija se usa para combinar y configurar la botella de vino. La clase hija hereda las propiedades de la clase padre permitiéndote crear variaciones de las botellas sin demasiado esfuerzo.
Primero, camina y recoge las cuatro (4) botellas vacías que se encuentran en la parte superior del mapa. Una vez que las tengas, dirígete a las marcas en X oscuras sobre las alfombras de colores y enfrenta los dispensadores de barriles. Hay cuatro (4) alfombras de colores, que representan el color de vino que necesitas crear en esa área, siendo: "green" , "blue" , "purple" y "yellow" .
En las marcas en X oscuras, crea un objeto utilizando la clase hija, por ejemplo: green_bottle = fill_bottle(). Nombra el objeto de acuerdo a la botella que estás intentando crear, una vez hecho esto, establece el color del objeto y activa sus funciones.
# Green bottle setup green_bottle.color = "green" green_bottle.set_bottle() green_bottle.fill_bottle()
Haz esto para las cuatro (4) botellas de vino en sus respectivas marcas en X. Una vez que estén todas configuradas y las botellas hayan sido recogidas, camina hacia la marca en X clara y abre la puerta de la bodega usando la función open(), de esta manera: player.open(). Luego, dirígete a la marca en X dorada para almacenar las botellas que creaste en una estantería de vinos.
Coloca todas las botellas en una lista llamada bottles y, mientras estés frente a la estantería, usa la función place() para guardar la lista y completar el nivel. Hay cuatro (4) botellas que habrás recogido: "green bottle" , "blue bottle" , "purple bottle" y "yellow bottle" .