קורס פיתוח מתקדם בפייתון
פרק
>
רמה
מחלקות מתקדמות
הגדרת שיטה מחדש
מטרה
בקבוק את השמן על מנת לבשל בשר על ידי יצירת אובייקטים עם שיטות שהוחלפו.
יש קצת שמן שניתן להשתמש בו כדי לבשל ירקות, אך יש לבקבוק אותו תחילה על מנת להקל על השימוש. השימוש במחלקות ויצירת אובייקטים יהווה שיטה יעילה להשגת מטרה זו, בדומה לרמה הקודמת. עם זאת, קיימות דרכים יעילות יותר להשתמש בירושת האובייקטים בתוך מחלקה, כגון לגרום למחלקת child להחליף פונקציות במחלקת parent.
# 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)
בקוד למעלה, מחלקת child מחליפה את הפונקציה label_bottle() במחלקת parent כדי לשכתב את התוויות על הבקבוקים. פעולה זו מאפשרת גם להגדיר הודעה מותאמת אישית באמצעות פונקציות async.
כדי להתחיל, אסוף את ארבעת (4) הבקבוקים הריקים בשטח, וכאשר תאסוף אותם עבור לסימוני X כהים ויצר אובייקטים באמצעות המחלקות.
קיימים ארבעה (4) סוגי שמן לאריזה בבקבוקים, והם תואמים לשרוולים הצבעוניים שמול המכונות: olive_oil נארז על השטיח הצהוב, avocado_oil נארז על השטיח הירוק, canola_oil נארז על השטיח הכחול, ו- vegetable_oil נארז על השטיח האדום.
צור אובייקטים עבור כל אחד מהשמנים, כתוב את התווית שלהם והפעל את הפונקציות label_bottle() ו- fill_bottle() של מחלקת child, לדוגמה:
olive_oil = fill_bottle() olive_oil.label = "Olive Oil" olive_oil.label_bottle() oliver_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() עם רשימת השמנים כדי לאחסן את הפריטים בארון ולהשלים את הרמה.