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

การ Overload ตัวดำเนินการ +

ตัวดำเนินการที่ overload ได้ไม่ได้มีแค่ตัวดำเนินการเปรียบเทียบเท่านั้น คลาสใน Python ยังสามารถกำหนดการทำงานแบบกำหนดเองสำหรับตัวดำเนินการทางคณิตศาสตร์ เช่น + และ - ได้ด้วย ในแบบฝึกหัดนี้ จะได้ฝึก overload ตัวดำเนินการ + สำหรับคลาส Storage

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

Object-Oriented Programming ใน Python ระดับกลาง

ดูคอร์ส

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

  • กำหนด magic method เพื่อ overload ตัวดำเนินการ + สำหรับคลาส Storage
  • สร้างออบเจ็กต์ Storage ใหม่ชื่อ total_storage โดยให้ capacity เท่ากับ capacity รวมของทั้งสองออบเจ็กต์
  • นำออบเจ็กต์ onboard_storage และ external_drive มาบวกกันเพื่อสร้างออบเจ็กต์ total_storage แล้วพิมพ์ค่า capacity ของ total_storage

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

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

class Storage:
  def __init__(self, capacity):
    self.capacity = capacity
  
  def ____(____, ____):  # Overload the + operator
    # Create a Storage object with the sum of capacity
    return ____(self.____ + other.____)

onboard_storage = Storage(128)
external_drive = Storage(64)

# Add the two Storage objects, show the total capacity
total_storage = ____ + ____
print(total_storage.____)
  
แก้ไขและรันโค้ด