Skip to content
Siamcoder

Python Inheritance

python1 min read

Picture of abstract art

ในภาษา Python เราสามารถใช้การสืบทอด (Inheritance) เพื่อสร้างความสัมพันธ์ระหว่างคลาส (Class) ในรูปแบบของคลาสหลัก (Parent Class) และคลาสย่อย (Subclass) โดยที่คลาสย่อยสามารถรับช่วงของคุณสมบัติและการทำงานจากคลาสหลักได้

การสร้างคลาสย่อยที่สืบทอดคุณสมบัติจากคลาสหลักใน Python สามารถทำได้โดยใช้โครงสร้างดังนี้:

class ParentClass:
# คอนสตรักเตอร์ของคลาสหลัก
def __init__(self, parameter):
self.parameter = parameter
def parent_method(self):
# รหัสการทำงานของคลาสหลัก
class Subclass(ParentClass):
# คอนสตรักเตอร์ของคลาสย่อย
def __init__(self, parameter, additional_parameter):
super().__init__(parameter)
self.additional_parameter = additional_parameter
def subclass_method(self):
# รหัสการทำงานของคลาสย่อย

ในโค้ดข้างต้น เราสร้างคลาสหลัก ParentClass ที่มีคอนสตรักเตอร์และเมธอด parent_method และคลาสย่อย Subclass ที่สืบทอดมาจาก ParentClass โดยใช้การเรียกใช้ super() เพื่อเข้าถึงคอนสตรักเตอร์และเมธอดของคลาสหลัก

ในคลาสย่อย Subclass เราสามารถเพิ่มคุณสมบัติและเมธอดเพิ่มเติมเทียบกับคลาสหลัก ตัวอย่างเช่นเราเพิ่มพารามิเตอร์ additional_parameter ในคอนสตรักเตอร์และเพิ่มเมธอด subclass_method

เมื่อสร้างคลาสย่อยแล้ว เราสามารถสร้างอ็อบเจกต์ (Object) จากคลาสย่อยและเรียกใช้เมธอดทั้งของคลาสหลักและคลาสย่อยได้ดังนี้:

obj = Subclass(parameter_value, additional_parameter_value)
obj.parent_method()
obj.subclass_method()

โดยการสืบทอดใน Python ช่วยให้เราสามารถใช้รูปแบบของการแบ่งแยกและการนำรหัสที่ซ้ำซ้อนมาใช้ซ้ำได้ และเพิ่มความยืดหยุ่นในการพัฒนาโปรแกรมของเรา