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() 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() พร้อมกับรายการน้ำมันเพื่อจัดเก็บสิ่งของในตู้และทำให้ระดับนี้สำเร็จ

หนังสือโค้ด