0Pricing
Python Academy · บทเรียน

การสืบทอด

เรียนรู้การนำความสามารถกลับมาใช้ซ้ำและต่อยอดผ่านการสืบทอด

การสืบทอด เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 6 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 6 บทเรียน

บทนำสู่การสืบทอด

บทนำสู่การสืบทอด

การสืบทอดเป็นแนวคิดสำคัญในการเขียนโปรแกรมเชิงวัตถุ (OOP) ซึ่งช่วยให้คลาสหนึ่ง (คลาสย่อย) สืบทอดแอตทริบิวต์และเมธอดจากอีกคลาสหนึ่ง (คลาสฐาน) ได้ การสืบทอดช่วยส่งเสริมการนำโค้ดกลับมาใช้ใหม่และทำให้โค้ดเป็นระเบียบมากขึ้น

ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีนำการสืบทอดไปใช้ในไพธอนและทำความเข้าใจประโยชน์ของการสืบทอด

การสืบทอด — ภาพประกอบ 1

การกำหนดคลาสฐาน

การกำหนดคลาสฐาน

คลาสฐานคือคลาสหลักที่คลาสอื่นสืบทอดมา คลาสฐานกำหนดในลักษณะเดียวกับคลาสทั่วไป:

# Defining a superclass
class Animal:
    def speak(self):
        print("Animal speaks")

การสร้างคลาสย่อย

การสร้างคลาสย่อย

คลาสย่อยสืบทอดแอตทริบิวต์และเมธอดจากคลาสฐาน ในการกำหนดคลาสย่อย ให้ส่งชื่อคลาสฐานเป็นพารามิเตอร์:

# Defining a subclass
class Dog(Animal):
    def speak(self):
        print("Dog barks")

การเขียนทับเมธอด

การเขียนทับเมธอด

คลาสย่อยสามารถเขียนทับเมธอดจากคลาสฐานเพื่อกำหนดพฤติกรรมเฉพาะได้:

# Overriding methods in a subclass
class Dog(Animal):
    def speak(self):
        print("Dog barks")

animal = Animal()
animal.speak()  # Outputs: Animal speaks

dog = Dog()
dog.speak()  # Outputs: Dog barks

การใช้ฟังก์ชัน super()

การใช้ฟังก์ชัน super()

ฟังก์ชัน super() ช่วยให้คุณเรียกใช้เมธอดจากคลาสฐานภายในคลาสย่อยได้:

# Using super() to call superclass methods
class Dog(Animal):
    def speak(self):
        super().speak()
        print("Dog barks")

การสืบทอดหลายลำดับ

การสืบทอดหลายลำดับ

ไพธอนรองรับการสืบทอดหลายลำดับ โดยคลาสย่อยสามารถสืบทอดจากคลาสฐานได้มากกว่าหนึ่งคลาส:

# Example of multiple inheritance
class Flyer:
    def fly(self):
        print("Flying")

class Swimmer:
    def swim(self):
        print("Swimming")

class Duck(Flyer, Swimmer):
    pass

การตรวจสอบความสัมพันธ์ระหว่างคลาส

การตรวจสอบความสัมพันธ์ระหว่างคลาส

คุณสามารถตรวจสอบความสัมพันธ์ระหว่างคลาสได้โดยใช้ฟังก์ชัน isinstance() และ issubclass()

# Checking class relationships
# Checking if an object is an instance of a class
print(isinstance(Dog(), Dog))  # Outputs: True

# Checking if a class is a subclass of another
print(issubclass(Dog, Animal))  # Outputs: True

ข้อผิดพลาดที่พบบ่อยเกี่ยวกับการสืบทอด

ข้อผิดพลาดที่พบบ่อยเกี่ยวกับการสืบทอด

ต่อไปนี้คือข้อผิดพลาดบางอย่างที่ควรหลีกเลี่ยง:

  • การเขียนทับเมธอดโดยไม่เรียกใช้ super() เมื่อจำเป็น
  • การสับสนลำดับการค้นหาเมธอด (MRO) ในการสืบทอดหลายลำดับ
  • การใช้การสืบทอดในกรณีที่การประกอบออบเจ็กต์อาจเป็นทางเลือกที่ดีกว่า

เราเรียนรู้อะไรบ้าง

เราเรียนรู้อะไรบ้าง

ในบทเรียนนี้ คุณได้เรียนรู้:

  • วิธีกำหนดคลาสฐานและคลาสย่อย
  • วิธีเขียนทับเมธอดและใช้ super()
  • การทำงานของการสืบทอดหลายลำดับในไพธอน

ทำได้ดีมาก ไปยังหัวข้อถัดไปกัน

การสืบทอด — ภาพประกอบ 11

คำถามที่พบบ่อย

บทเรียน “การสืบทอด” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การสืบทอด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 6 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การสืบทอด”

เรียนรู้การนำความสามารถกลับมาใช้ซ้ำและต่อยอดผ่านการสืบทอด คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 6 บทเรียน

บทเรียน “การสืบทอด” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม

ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. คลาสและอ็อบเจ็กต์
  2. แอตทริบิวต์และเมธอด
  3. การสืบทอด
  4. พหุสัณฐาน
  5. การห่อหุ้มและนามธรรม
  6. เมธอดพิเศษ (__str__, __repr__ และอื่น ๆ)
← กลับไปที่ Python Academy