เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การสืบทอด class attributes

ก่อนหน้านี้ในคอร์ส คุณได้เรียนรู้เกี่ยวกับ class attributes และ methods ที่ใช้ร่วมกันระหว่าง instances ทั้งหมดของคลาส แล้วสิ่งเหล่านี้ทำงานอย่างไรเมื่อใช้ร่วมกับการสืบทอด?

ในแบบฝึกหัดนี้ จะสร้าง subclass จากคลาส Player ที่ใช้งานไปก่อนหน้า และสำรวจการสืบทอด class attributes และ methods

คลาส Player ถูกกำหนดไว้ให้แล้ว ดังโค้ดต่อไปนี้:

class Player:
    MAX_POSITION = 10

    def __init__(self):
      self.position = 0

    def move(self, steps):
      if self.position + steps < Player.MAX_POSITION:
        self.position += steps 
      else:
        self.position = Player.MAX_POSITION                 

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Create a Racer class inheriting from Player
____(____):
  # Create MAX_POSITION with a value of 15
  ____ = ____
  
# Create a Player and a Racer objects
p = ____
r = ____

print("p.MAX_POSITION = ", p.MAX_POSITION)
print("r.MAX_POSITION = ", r.MAX_POSITION)
แก้ไขและรันโค้ด