Coding for KidsCoding for Kids
Yaratıcı SeviyelerZorluklarÖğretmen Kılavuzu
Özellikler için oy verin
Gelişmiş Python Geliştirme Kursu
Bölüm
>
Seviye

Gelişmiş Sınıflar
Süper Fonksiyon

Amaç

Farklı etleri toplayın, ardından süper fonksiyonlar kullanarak nesneler oluşturarak bu etleri çeşitli şekillerde pişirin ve servis yapın.

Buzdolabında, bir önceki seviyede yağ ile hazırladığınız soğanlarla pişirip servis yapabileceğiniz çeşitli etler bulunmaktadır. Etler farklı şekillerde pişirilebilir ve farklı sıcaklıklar/nadirliklerde pişirilebilir; bunu, önceki seviyelerde olduğu gibi sınıflardan nesneler oluşturarak başarabilirsiniz, ancak Süper Fonksiyonlar kullanılarak geliştirilebilir.

super() fonksiyonu, metot geçersiz kılma (method overriding) ile benzer bir şekilde kullanılır; farkı ise, bu fonksiyonu kullanarak, işlevi tamamen geçersiz kılmak yerine, kendi kodunuzun yanı sıra ebeveyn sınıfındaki fonksiyonu çalıştırabilmenizdir.

# Parent Class class cooked_meat: type = "" def cook_meat(self): player.speak("Cooking the %s meat with oil and onions." % self.type) player.place("meat") player.collect("cooked %s" % self.type) # Child Class class ready_meat(cooked_meat): rarity = "" def cook_meat(self): super().cook_meat() player.speak("The meat is cooked %s" % self.rarity)

Çocuk sınıf fonksiyonu cook_meat() içinde, super() fonksiyonu kullanılır. cook_meat() aynı zamanda ebeveyn sınıfta kullanılan bir fonksiyon olduğundan, özel fonksiyon normalde metot geçersiz kılma nedeniyle miras alınan kodu geçersiz kılardı fakat super() fonksiyonunu kullanarak, ebeveyn sınıftaki kodu ve çocuk sınıfta yazdığınız yeni kodu çalıştırabilirsiniz.

Önce buzdolabına gidin ve pişirmek için kullanacağınız dört (4) parça eti toplayın. Bu dört etin her biri farklı bir türdedir: "pork", "beef", "lamb" ve "buffalo".

Topladıktan sonra, ışıklı X işaretine gidin ve her bir et için nesneler oluşturun; bu nesnelerden her biri için, pişirmek istediğiniz et türünü ve nadirliğini ayarlayın, örneğin:

pork_meat = ready_meat() pork_meat.type = "pork" pork_meat.rarity = "medium" pork_meat.cook_meat()

Nadirlik, bir etin pişirilmesini istediğiniz pişirme sıcaklığıdır. Etleri aşağıdaki nadirliklere kadar pişirin: "pork" için "medium", "beef" için "well done", "buffalo" için "medium rare", ve "lamb" için "rare". Yukarıdaki örnekte gösterildiği gibi, etin türünü ve nadirliğini ayarladıktan sonra X işaretinde çocuk sınıf fonksiyonu cook_meat()'i kullanın.

Etler pişirildikten sonra, sarı halının üzerindeki koyu X işaretine gidin ve kilerden hem "salt" hem de "pepper"'ı almak için collect() fonksiyonunu kullanın. ingredients adında bir liste oluşturun ve toplanan bu iki malzemeyi aşağıdaki gibi yerleştirin: ingredients = ["salt","pepper"].

Ekstra malzemelerle artık masadaki tabaklarla eti servis edebilirsiniz. Pişirdiğiniz her et için aşağıdaki isimlerde bir liste oluşturun: served_pork, served_beef, served_lamb ve served_buffalo. Bu listelere, pişirdiğiniz etleri ve malzemeler listesini, bir iç içe liste oluşturarak ekleyin, örneğin:

served_pork = [] served_pork.append("cooked pork") served_pork.append(ingredients)

Listeler oluşturulduktan sonra altın X işaretlerine gidin ve tezgahlardaki tabaklarda eti servis etmek için place() fonksiyonunu kullanın. Üst altın X işaretinde, masaya dönük olacak şekilde served_pork ve served_buffalo'yu place() yapın. Alt altın X işaretinde, masaya dönük olacak şekilde served_lamb ve served_beef'i place() yapın. Örneğin: player.place(served_pork), tüm etler servis edildiğinde seviyesi tamamlamış olacaksınız.

Kod Kitabı