Coding for KidsCoding for Kids
Niveles CreativosDesafíosGuía del Maestro
Votar por funciones
Curso Avanzado de Desarrollo en Python
Capítulo
>
Nivel

Clases Avanzadas
Sobrescritura de métodos

Objetivo

Envasar aceite para cocinar carne creando objetos con métodos sobrescritos.

Hay algo de aceite que podrías utilizar para cocinar algunas verduras, pero primero debe ser envasado para facilitar su uso. Usar clases y crear objetos sería un método efectivo para lograr esto, al igual que en el nivel anterior. Dicho esto, también existen formas de utilizar de manera más efectiva la herencia de objetos dentro de una clase, como permitir que la clase hija sobrescriba funciones en la clase madre.

# Parent Class class oil_bottle: label = "" async def label_bottle(self): await player.read() # Child Class class fill_bottle(oil_bottle): def fill_bottle(self): player.place("empty bottle") player.collect("oilbottle") async def label_bottle(self): await player.write(self.label)

En el código anterior, la clase hija sobrescribe la función label_bottle() de la clase madre para reescribir las etiquetas de las botellas. Esto también te permite configurar un mensaje personalizado utilizando funciones async.

Para comenzar, recoge las cuatro (4) botellas vacías que se encuentran en el campo; una vez recogidas, camina hacia las marcas X oscuras y crea objetos utilizando las clases.

Existen cuatro (4) tipos de aceite para envasar, que corresponden a las alfombras de colores frente a las máquinas: olive_oil se envasa sobre la alfombra amarilla, avocado_oil se envasa sobre la alfombra verde, canola_oil se envasa sobre la alfombra azul, y vegetable_oil se envasa sobre la alfombra roja.

Crea objetos para cada uno de los aceites, escribe su etiqueta y activa las funciones de la clase hija label_bottle() y fill_bottle(), por ejemplo:

olive_oil = fill_bottle() olive_oil.label = "Olive Oil" olive_oil.label_bottle() oliva_oil.fill_bottle()

Cada una de las etiquetas debe contener el nombre capitalizado de cada uno de los aceites de la siguiente manera: "Olive Oil", "Avocado Oil", "Canola Oil" y "Vegetable Oil".

Una vez envasados los aceites, camina hacia la marca X clara frente a un saco y utiliza la función collect() para tomar "onion" del saco. Luego, camina hacia la marca X dorada y usa el aceite para cocinar la cebolla, almacenándolos juntos en una lista llamada ingredients, de la siguiente manera: ingredients = ["Olive Oil", "onion"]. Utiliza la función place() con la lista para cocinar los ingredientes.

Finalmente, coloca los aceites restantes en una lista llamada oils, de la siguiente manera: oils = ["Avocado Oil","Canola Oil","Vegetable Oil"]. Camina hacia la marca X clara sobre la alfombra morada, enfréntate al armario y utiliza la función place() con la lista de aceites para guardar los artículos en el armario y completar el nivel.

Libro de Código