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

การสร้าง grandchild class

ในแบบฝึกหัดนี้ จะใช้การสืบทอด (inheritance) เพื่อสร้างคลาส Tweets จากคลาส SocialMedia โดย grandchild class Tweets นี้จะสามารถจัดการรายละเอียดเฉพาะของ Twitter ได้ เช่น การ retweet

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

หลักการวิศวกรรมซอฟต์แวร์ใน Python

ดูคอร์ส

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

  • เติมคำสั่ง class ให้ Tweets สืบทอดมาจาก SocialMedia (โหลด SocialMedia ไว้ในสภาพแวดล้อมแล้ว)
  • ใช้ super() เพื่อเรียกเมธอด __init__ ของคลาสแม่
  • นิยาม retweet_text โดยใช้ help() เพื่อตรวจสอบชื่อพารามิเตอร์ที่ถูกต้องสำหรับการเรียก filter_lines (filter_lines โหลดไว้ในสภาพแวดล้อมแล้ว)
  • return retweet_text จาก _process_retweets ในรูปแบบ instance ของ SocialMedia

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

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

# Define a Tweet class that inherits from SocialMedia
class Tweets(____):
    def __init__(self, text):
        # Call parent's __init__ with super()
        ____
        # Define retweets attribute with non-public method
        self.retweets = self._process_retweets()

    def _process_retweets(self):
        # Filter tweet text to only include retweets
        retweet_text = filter_lines(self.text, ____='RT')
        # Return retweet_text as a SocialMedia object
        return ____(retweet_text)
แก้ไขและรันโค้ด