Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

อธิบาย Inheritance vs Instantiation สำหรับคลาส Python


มรดก

เป็นภาษาเชิงวัตถุ Python รองรับการสืบทอด และยังรองรับการสืบทอดหลายรายการอีกด้วย คลาสสามารถสืบทอดมาจากคลาสอื่นได้ คลาสสามารถสืบทอดแอตทริบิวต์และวิธีการทำงานจากคลาสอื่นที่เรียกว่าซูเปอร์คลาส คลาสที่สืบทอดจากซูเปอร์คลาสจะเรียกว่าคลาสย่อย เรียกอีกอย่างว่าคลาสทายาทหรือคลาสย่อย กล่าวอีกนัยหนึ่งการสืบทอดหมายถึงการกำหนดคลาสใหม่โดยมีการดัดแปลงเพียงเล็กน้อยหรือไม่มีเลยในคลาสที่มีอยู่

class A:        # define your class A
pass
class B:         # define your class B
pass
class C(A, B):   # subclass of A and B

ตัวอย่าง

การสร้างอินสแตนซ์ของคลาสคือการสร้างสำเนาของคลาสที่สืบทอดตัวแปรและเมธอดของคลาสทั้งหมด การสร้างอินสแตนซ์ของคลาสใน Python นั้นง่ายมาก ในการสร้างอินสแตนซ์ของคลาส เราเพียงแค่เรียกคลาสเหมือนกับว่าเป็นฟังก์ชัน โดยส่งผ่านอาร์กิวเมนต์ที่เมธอด __init__ กำหนด ค่าที่ส่งคืนจะเป็นวัตถุที่สร้างขึ้นใหม่

ตัวอย่าง

class Foo():
        def __init__(self,x,y):
            print x+y
f = Foo(3,4)

ผลลัพธ์

7