Coding for KidsCoding for Kids
Творческие УровниИспытанияРуководство для Учителей
Голосовать за функции
Продвинутый курс разработки на Python
Глава
>
Уровень

Продвинутые классы
Переопределение методов

Цель

Забутылировать масло для приготовления мяса, создавая объекты с переопределёнными методами.

Есть немного масла, которое можно использовать для приготовления овощей, но его нужно сначала разлить по бутылкам для удобства использования. Использование классов и создание объектов будет эффективным способом достижения этой цели, как и в предыдущем уровне. При этом существуют способы более эффективного использования наследования объектов внутри класса, например, когда класс наследник переопределяет функции класса родителя.

# 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)

В приведённом выше коде класс наследник переопределяет функцию label_bottle() класса родителя для переписывания ярлыков на бутылках. Это также позволяет установить индивидуальное сообщение с использованием асинхронных функций.

Для начала соберите все четыре (4) пустые бутылки на поле, затем, собрав их, пройдите к тёмной отметке X и создайте объекты, используя классы.

Существует четыре (4) вида масла для розлива, они соответствуют цветным коврам перед машинами: olive_oil разливается на жёлтом ковре, avocado_oil разливается на зелёном ковре, canola_oil разливается на синем ковре, а vegetable_oil разливается на красном ковре.

Создайте объекты для каждого из масел, напишите их ярлык и активируйте функции класса наследника label_bottle() и fill_bottle(), например:

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

Каждый из ярлыков должен содержать название соответствующего масла с заглавной буквы, как показано: "Olive Oil", "Avocado Oil", "Canola Oil" и "Vegetable Oil".

После того, как вы разлотите масла, подойдите к светлой отметке X перед мешком и используйте функцию collect(), чтобы взять "onion" из мешка. Затем подойдите к золотой отметке X и используйте масло для приготовления лука, разместив их вместе в списке с названием ingredients, например: ingredients = ["Olive Oil", "onion"]. Используйте функцию place() со списком для приготовления ингредиентов.

Наконец, разместите оставшиеся масла в списке с названием oils, например: oils = ["Avocado Oil","Canola Oil","Vegetable Oil"]. Подойдите к светлой отметке X на фиолетовом ковре, обернитесь к шкафу и используйте функцию place() со списком масел для хранения предметов в шкафу и завершения уровня.

Книга Кода