Kursus Pembangunan Python Lanjutan
Bab
>
Tahap
Kelas Lanjutan
Penggantian Kaedah
Objektif
Membotol minyak untuk memasak daging dengan mencipta objek menggunakan kaedah yang ditimpa.
Terdapat minyak yang boleh anda gunakan untuk memasak sayur-sayuran, tetapi ia perlu dibotolkan terlebih dahulu untuk memudahkan penggunaan. Menggunakan kelas dan mencipta objek merupakan kaedah yang berkesan untuk mencapai ini, seperti pada tahap sebelumnya. Bagaimanapun, terdapat juga cara untuk menggunakan pewarisan objek dalam kelas dengan lebih berkesan, seperti dengan membiarkan kelas child menimpa fungsi dalam kelas 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)
Dalam kod di atas, kelas child menimpa fungsi label_bottle() pada kelas parent untuk menulis semula label pada botol. Ini juga membolehkan anda menetapkan mesej tersuai menggunakan fungsi async.
Untuk memulakan, ambil keempat-empat (4) botol kosong di padang, setelah dikumpul, berjalan ke tanda X gelap dan cipta objek menggunakan kelas-kelas tersebut.
Terdapat empat (4) jenis minyak yang perlu dibotolkan, yang sepadan dengan permaidani berwarna di hadapan mesin-mesin: olive_oil dibotolkan di atas permaidani kuning, avocado_oil dibotolkan di atas permaidani hijau, canola_oil dibotolkan di atas permaidani biru, dan vegetable_oil dibotolkan di atas permaidani merah.
Cipta objek untuk setiap minyak, tulis label mereka dan aktifkan fungsi kelas child label_bottle() dan fill_bottle(), contohnya:
olive_oil = fill_bottle() olive_oil.label = "Olive Oil" olive_oil.label_bottle() olive_oil.fill_bottle()
Setiap label hendaklah mengandungi nama minyak dengan huruf besar seperti berikut: "Olive Oil" , "Avocado Oil" , "Canola Oil" dan "Vegetable Oil".
Setelah anda membotolkan minyak, berjalan ke tanda X terang di hadapan beg dan gunakan fungsi collect() untuk mengambil "onion" dari beg tersebut. Selepas itu, berjalan ke tanda X emas dan gunakan minyak untuk memasak bawang dengan menyimpannya bersama dalam senarai bernama ingredients, seperti ini: ingredients = ["Olive Oil", "onion"]. Gunakan fungsi place() dengan senarai tersebut untuk memasak bahan-bahan.
Akhirnya, letakkan minyak yang tinggal dalam senarai bernama oils, seperti ini: oils = ["Avocado Oil","Canola Oil","Vegetable Oil"]. Berjalan ke tanda X terang di atas permaidani ungu, hadapi kabinet dan gunakan fungsi place() dengan senarai minyak tersebut untuk menyimpan item dalam kabinet dan menyelesaikan tahap.