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

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: การสืบทอด Class แบบ Object-Oriented หรือ OOP ใน Python

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

Post by ธวัชชัย แสนหาญ » 17/11/2018 3:20 pm

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

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

Code: Select all

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


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

01.png
01.png (47.06 KiB) Viewed 875 times

010.png
010.png (25.74 KiB) Viewed 875 times


ผลลัพธ์ที่ได้
011.png
011.png (24.12 KiB) Viewed 875 times


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

Code: Select all

# 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

Top