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

การเพิ่มตรรกะให้กับ Attribute

คลาส Player ที่สร้างไว้ก่อนหน้านี้เป็นจุดเริ่มต้นที่ดี แต่หนึ่งในประโยชน์สำคัญของ class-level attribute คือความสามารถในการจำกัดขอบเขตบนและ/หรือล่างของข้อมูล

ในแบบฝึกหัดนี้ จะได้แก้ไขคลาส Player เพื่อป้องกันไม่ให้ค่า position เกิน MAX_POSITION ที่กำหนดไว้ระดับคลาส

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

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

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนด constructor __init__() โดยรับ argument สองตัวคือ self และ position
  • ภายใน constructor ให้ตรวจสอบว่า position น้อยกว่าหรือเท่ากับ MAX_POSITION ระดับคลาสหรือไม่ ถ้าใช่ ให้กำหนด position ให้กับ self.position
  • ถ้า position มากกว่า MAX_POSITION ระดับคลาส ให้กำหนด self.position เป็นค่าของ attribute .MAX_POSITION ของคลาสแทน
  • สร้างออบเจกต์ Player ชื่อ p โดยกำหนด position เป็น 6 แล้วพิมพ์ค่า MAX_POSITION ของออบเจกต์นั้น

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

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

class Player:
  MAX_POSITION = 10
  
  # Define a constructor
  ____ ____(____, ____):
    
    # Check if position is less than the class-level attribute value
    if ____ <= ____.____:
      ____.____ = ____
    
    # If not, set equal to the class-level attribute
    else:
      ____.____ = ____.____

# Create a Player object, p, and print its MAX_POSITITON
p = ____(____)
print(____.____)
แก้ไขและรันโค้ด