การเขียนโปรแกรมด้วยไพทอนแบบ Python OOP - Object-oriented programmingเราสามารถสือทอดความสามารถของคลาสที่สร้างไว้อยู่แล้ว (คลาสแม่) มาให้คลาสใหม่ที่กำลังจะขึ้น (คลาสลูก) เหมือนการเขียนแบบ OOP ในภาษา Java หรือ php และในไพทอนสามารถสือทอดความสามารถจากคลาสแม่หลายๆ คลาสมายังคลาสลูกได้
รูปแบบ
class SubClassName (ParentClass1[, ParentClass2, ...]):
'คำอธิบายคลาส'
class_suite
ตัวอย่าง class_inheritance.py
class Parent: # สร้างคลาสแม่
parentAttr = 100
def __init__(self):
print ("constructor ของ คลาสแม่")
def parentMethod(self):
print ('method ของคลาสแม่')
def parentMethod2(self):
print('method2 ของคลาสแม่')
def setAttr(self, attr):
Parent.parentAttr = attr
def getAttr(self):
print ("Parent attribute :", Parent.parentAttr)
class Child(Parent): # สร้างคลาสลูก
def __init__(self):
print ("constructor ของ คลาสลูก")
def childMethod(self):
print ('method ของคลาสลูก')
def chidgetAttr(self):
print(' Attr ที่กำหนดไว้ในคลาสแม่ เรียกใช้โดยคลาสลูก', self.parentAttr)
c = Child() # instance of child
c.childMethod() # เรียกใช้ method คลาสลูก
c.parentMethod() # เรียกใช้ method ของคลาสแม่
c.parentMethod2() # เรียกใช้งาน method 2 ของคลาสแม่
c.setAttr(200) # เรียกใช้ method ของคลาสแม่
c.getAttr() # เรียกใช้ method ของคลาสแม่
c.chidgetAttr() # เรียกใช้ method ของคลาสลูก
ผลที่ได้
constructor ของ คลาสลูก
method ของคลาสลูก
method ของคลาสแม่
method2 ของคลาสแม่
Parent attribute : 200
Attr ที่กำหนดไว้ในคลาสแม่ เรียกใช้โดยคลาสลูก 200