การสืบทอด Class แบบ Object-Oriented หรือ OOP ใน Python

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

ธวัชชัย แสนหาญ
PHP Sr. Member
PHP Sr. Member
โพสต์: 92
ลงทะเบียนเมื่อ: 15/11/2018 10:02 am

การสืบทอด Class แบบ Object-Oriented หรือ OOP ใน Python

โพสต์โดย ธวัชชัย แสนหาญ » 17/11/2018 3:20 pm

การสืบทอด class
การสืบทอด class เป็นการสืบทอดความสามารถของ class ที่สร้างไว้แล้ว(class แม่)
มาให้กับ class ที่กำลังจะสร้างขึ้นมาใหม่ (class ลูก)

รูปแบบการสืบทอด

โค้ด: เลือกทั้งหมด

class A:
       def method_name():
        ......................
        ......................
        ......................
class B(A):
       def method_name():
        ......................
        ......................
        ......................


รูปโค้ดในโปรแกรม

01.png
01.png (47.06 KiB) เปิดดู 280 ครั้ง

010.png
010.png (25.74 KiB) เปิดดู 280 ครั้ง


ผลลัพธ์ที่ได้
011.png
011.png (24.12 KiB) เปิดดู 280 ครั้ง


โค้ดที่ใช้ในการ run

โค้ด: เลือกทั้งหมด

# class A แม่
class A:
    def method (self):
        print('calling A method')
# class B พ่อ
class B:
    def method1 (self):
        print('calling B method')
# class C ลูกของ class A
class C(A):
    def method2(self):
        print('calling C method')
# class D ลูกของ class B
class D(B):
    def method3 (seft):
        print('calling D method')
# class E ลูกของ class A กับ B
class E(A,B):
    def method4 (seft):
        print('calling E method')

print('_______class A__________')
a = A()                 # instance of A
a.method()          #เรียกใช้ method class A
print('________class B_________')
b = B()                 # instance of B
b.method1()        #เรียกใช้ method class B
print('_______class C__________')
c = C()                 # instance of B
c.method()          #เรียกใช้ method class A
c.method2()        #เรียกใช้ method class C
print('_______class D__________')
d = D()                # instance of D
d.method1()       #เรียกใช้ method class B
d.method3()       #เรียกใช้ method class D
print('_______class E__________')
e = E()                # instance of E
e.method()         #เรียกใช้ method class A
e.method1()       #เรียกใช้ method class B
e.method4()       #เรียกใช้ method class E

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 222 และ บุคคลทั่วไป 0 ท่าน