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() у батьківському класі для перезапису міток на пляшках. Це також дозволяє встановити власне повідомлення, використовуючи async функції.

Для початку, зберіть всі чотири (4) порожні пляшки на полі. Після їх збирання, підійдіть до темних позначок X і створіть об'єкти, використовуючи класи.

Є чотири (4) види олії, які потрібно розфасувати; вони відповідають кольоровим килимкам перед машинами: olive_oil розфасовується на жовтому килимку, avocado_oil розфасовується на зеленому килимку, canola_oil розфасовується на синьому килимку, а vegetable_oil розфасовується на червоному килимку.

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

olive_oil = fill_bottle() ovive_oil.label = "Olive Oil" ovive_oil.label_bottle() ovive_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() зі списком олій, щоб зберегти предмети у шафі та пройти рівень.

Книга Коду