рдЙрдиреНрдирдд рдкрд╛рдпрдерди рд╡рд┐рдХрд╛рд╕ рдкрд╛рдареНрдпрдХреНрд░рдо
рдЕрдзреНрдпрд╛рдп 5
>
рд╕реНрддрд░ 3
рдЙрджреНрджреЗрд╢реНрдп
рд╡рд┐рднрд┐рдиреНрди рдорд╛рдВрд╕ рдПрдХрддреНрд░ рдХрд░реЗрдВ, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдкрдХрд╛ рдХрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдкрд░реЛрд╕реЗрдВ, super functions рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдХрд░ред
рдлреНрд░рд┐рдЬ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдВрд╕ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдкрд┐рдЫрд▓реЗ рд╕реНрддрд░ рдореЗрдВ рддреЗрд▓ рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдкреНрдпрд╛рдЬ рдХреЗ рд╕рд╛рде рдкрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░реЛрд╕ рд╕рдХрддреЗ рд╣реИрдВред рдорд╛рдВрд╕ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рддрд╛рдкрдорд╛рди/рджреБрд░реНрд▓рднрддрд╛ рддрдХ рдкрдХрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдХрдХреНрд╖рд╛рдУрдВ рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдХрд░ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╕реНрддрд░реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ Super Functions рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реБрдзрд╛рд░рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
super() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЗрдердб рдУрд╡рд░рд░рд╛рдЗрдбрд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде-рд╕рд╛рде child рдХреНрд▓рд╛рд╕ рдореЗрдВ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп parent рдХреНрд▓рд╛рд╕ рдХрд╛ рдлрд╝рдВрдХреНрд╢рди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред
# 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)
Child class рдлрд╝рдВрдХреНрд╢рди cook_meat() рдХреЗ рдЕрдВрджрд░, super() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ cook_meat() рднреА parent рдХреНрд▓рд╛рд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдХрд╕реНрдЯрдо рдлрд╝рдВрдХреНрд╢рди рд╕рд╛рдорд╛рдиреНрдпрддрдГ method overriding рдХреЗ рдХрд╛рд░рдг рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗ рдХреЛрдб рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди super() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк parent рдХреНрд▓рд╛рд╕ рдореЗрдВ рдХреЛрдб рдХреЗ рд╕рд╛рде-рд╕рд╛рде child рдХреНрд▓рд╛рд╕ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдирдпрд╛ рдХреЛрдб рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╣рд▓реЗ рдлреНрд░рд┐рдЬ рддрдХ рдЬрд╛рдПрдБ рдФрд░ рдЙрди рдЪрд╛рд░ (4) рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рдорд╛рдВрд╕ рдХреЛ рдПрдХрддреНрд░ рдХрд░реЗрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдкрдХрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЪрд╛рд░ (4) рдорд╛рдВрд╕реЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реИ, рдЬреЛ рд╣реИрдВ: "pork" , "beef" , "lamb" рдФрд░ "buffalo"ред
рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рд▓реНрдХреЗ X рдорд╛рд░реНрдХ рддрдХ рдЬрд╛рдПрдБ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрдХрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдВрд╕ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдВрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП, рдЙрд╕ рдорд╛рдВрд╕ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдФрд░ рджреБрд░реНрд▓рднрддрд╛ рд╕реЗрдЯ рдХрд░реЗрдВ рдЬрд┐рд╕ рдкрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдкрдХрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
pork_meat = ready_meat() pork_meat.type = "pork" pork_meat.rarity = "medium" pork_meat.cook_meat()
рджреБрд░реНрд▓рднрддрд╛ рд╡рд╣ рдкрдХрд╛рдиреЗ рдХрд╛ рддрд╛рдкрдорд╛рди рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЖрдк рдорд╛рдВрд╕ рдХреЛ рдкрдХрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдорд╛рдВрд╕ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреБрд░реНрд▓рднрддрд╛рдУрдВ рддрдХ рдкрдХрд╛рдПрдВ: "pork" рдХреЛ рдкрдХрд╛рдпрд╛ рдЬрд╛рдП "medium" рдкрд░, "beef" рдХреЛ рдкрдХрд╛рдпрд╛ рдЬрд╛рдП "well done" рдкрд░, "buffalo" рдХреЛ рдкрдХрд╛рдпрд╛ рдЬрд╛рдП "medium rare" рдкрд░, рдФрд░ "lamb" рдХреЛ рдкрдХрд╛рдпрд╛ рдЬрд╛рдП "rare" рдкрд░ред X рдорд╛рд░реНрдХ рдкрд░ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдорд╛рдВрд╕ рдХрд╛ рдкреНрд░рдХрд╛рд░ рдФрд░ рджреБрд░реНрд▓рднрддрд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж child class рдлрд╝рдВрдХреНрд╢рди cook_meat() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдПрдХ рдмрд╛рд░ рдорд╛рдВрд╕ рдкрдХ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдкреАрд▓реЗ рдХрд╛рд▓реАрди рдкрд░ рдбрд╛рд░реНрдХ X рдорд╛рд░реНрдХ рддрдХ рдЬрд╛рдПрдБ рдФрд░ рдкреИрдВрдЯреНрд░реА рд╕реЗ "salt" рдФрд░ "pepper" рджреЛрдиреЛрдВ рдХреЛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП collect() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред ingredients рдирд╛рдо рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдЪреБрдиреА рдЧрдИ рджреЛ рд╕рд╛рдордЧреНрд░реА рдбрд╛рд▓реЗрдВ, рдЬреИрд╕реЗ: ingredients = ["salt","pepper"] .
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдм рдЖрдк рдорд╛рдВрд╕ рдХреЛ рдореЗрдЬ рдкрд░ рдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдкрд░реЛрд╕ рд╕рдХрддреЗ рд╣реИрдВред рдкрдХрд╛рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдВрд╕ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд╛рдореЛрдВ рд╕рд╣рд┐рдд рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдПрдВ: served_pork , served_beef , served_lamb рдФрд░ served_buffaloред рдЗрди рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ, рдЖрдкрдиреЗ рдЬреЛ рдорд╛рдВрд╕ рдкрдХрд╛рдпрд╛ рд╣реИ рдЙрд╕рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рд╛рдордЧреНрд░реА рдХреА рд╕реВрдЪреА рдХреЛ рдПрдХ nested list рдмрдирд╛рдХрд░ рдЬреЛрдбрд╝реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
served_pork = [] served_pork.append("cooked pork") served_pork.append(ingredients)
рдПрдХ рдмрд╛рд░ рд╕реВрдЪрд┐рдпрд╛рдБ рд╕реЗрдЯ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЧреЛрд▓реНрдб X рдорд╛рд░реНрдХ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рдХрд╛рдЙрдВрдЯрд░ рдкрд░ рдореМрдЬреВрдж рдкреНрд▓реЗрдЯреЛрдВ рдкрд░ рдорд╛рдВрд╕ рдкрд░реЛрд╕рдиреЗ рдХреЗ рд▓рд┐рдП place() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдКрдкрд░ рдХреЗ рдЧреЛрд▓реНрдб X рдорд╛рд░реНрдХ рдкрд░, рдореЗрдЬ рдХреА рдУрд░ рдореБрдЦ рдХрд░рдХреЗ, served_pork рдФрд░ served_buffalo рдХреЛ place() рдХрд░реЗрдВред рдиреАрдЪреЗ рдХреЗ рдЧреЛрд▓реНрдб X рдорд╛рд░реНрдХ рдкрд░, рдореЗрдЬ рдХреА рдУрд░ рдореБрдЦ рдХрд░рдХреЗ, served_lamb рдФрд░ served_beef рдХреЛ place() рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: player.place(served_pork), рдПрдХ рдмрд╛рд░ рдЬрдм рд╕рднреА рдорд╛рдВрд╕ рдкрд░реЛрд╕ рджрд┐рдП рдЬрд╛рдПрдБ, рддреЛ рдЖрдкрдиреЗ рд╕реНрддрд░ рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реЛрдЧрд╛ред