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

ความรู้เบื้องต้นเกี่ยวกับคลาสและการสืบทอดใน Python


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

การสืบทอดคือเมื่อคลาสใช้รหัสที่เขียนภายในคลาสอื่น

คลาสที่เรียกว่าคลาสย่อยหรือคลาสย่อยสืบทอดเมธอดและตัวแปรจากคลาสพาเรนต์หรือคลาสเบส

เนื่องจากคลาสย่อย Child สืบทอดมาจากคลาสเบสพาเรนต์ คลาส Child สามารถใช้โค้ดของพาเรนต์ซ้ำได้ ทำให้โปรแกรมเมอร์ใช้โค้ดน้อยลงและลดความซ้ำซ้อน

คลาสที่ได้รับมีการประกาศเหมือนกับคลาสหลัก อย่างไรก็ตาม รายการของคลาสพื้นฐานที่จะสืบทอดมาจากชื่อคลาส -

class SubClassName (ParentClass1[, ParentClass2, ...]):
   'Optional class documentation string'
   class_suite

ตัวอย่าง

class Parent:        # define parent class
   parentAttr = 100
   def __init__(self):
      print "Calling parent constructor"
   def parentMethod(self):
      print 'Calling parent method'
   def setAttr(self, attr):
      Parent.parentAttr = attr
   def getAttr(self):
      print "Parent attribute :", Parent.parentAttr
class Child(Parent): # define child class
   def __init__(self):
      print "Calling child constructor"
   def childMethod(self):
      print 'Calling child method'
c = Child()          # instance of child
c.childMethod()      # child calls its method
c.parentMethod()     # calls parent's method
c.setAttr(200)       # again call parent's method
c.getAttr()          # again call parent's method

ผลลัพธ์

เมื่อโค้ดด้านบนถูกรัน มันจะให้ผลลัพธ์ดังต่อไปนี้

Calling child constructor
Calling child method
Calling parent method
Parent attribute :200