สืบทอดความสามารถจากพ่อและแม่ใน Python OOP

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

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

teenproza7
PHP Super Member
PHP Super Member
Posts: 204
Joined: 13/05/2019 10:03 am

สืบทอดความสามารถจากพ่อและแม่ใน Python OOP

Post by teenproza7 » 17/05/2019 3:33 pm

:plusone:
ในการรับทอดคุณสมบัติในOOPนั้นสามารถรับทอดได้มากกว่า 1

ตัวอย่าง เช่น Class Child(ParentA,ParentB): เป็นการรับทอดมาจาก Class ParentA และ ParentB

ตัวอย่างโค้ด

[code]
#-*- coding=utf-8 -*-
class ParentA:
var = 101
def __init_(self):
print('Calling parent constructor')
def parentMethodA(self):
print ('Calling parentMethodA method')
def setAttr(self, attr):
ParentA.var = attr
def getAttr(self):
print ('parentA attribute :', ParentA.var)
class ParentB:
def __init__(self):
print('calling parentB construct')
def addAttr(self, attr):
ParentB.var = attr + attr
print('ParentB attribute : ', ParentB.var)
class Child(ParentA,ParentB):
def __init__(self):
print ('calling child constructor')
def childMethod(self):
print ('calling child method')
def childgetAttr(self):
print ('Attr in parent calling form child', self.parentAttr)
c = Child()
c.childMethod()
c.parentMethodA()
c.setAttr(200)
c.getAttr()
c.addAttr(200)
[/code]

จะเห็นได้ว่า Class Child สามารถเรียกใช้งาน Method ของ Class ParentAและ Class ParentB ได้ ดังภาพ

[attachment=0]Selection_749.png[/attachment]

สรุปคือในการสร้าง Class เราสามารถรับการสืบทอด Method จาก Class ได้หลายๆ Class ทำให้เวลาเรียกใช้งานทำได้ง่ายขึ้น

ศึกษาข้อมูลเพิ่มเติมได้ที่

บทเรียน Python

เทคนิคการเขียน Python

วีดีโอสอนเขียน Python สำหรับพื้นฐาน

Python Knowledge

Programming - C/C++ & java & Python
Attachments
Selection_749.png
Selection_749.png (30.35 KiB) Viewed 153 times
Image

Return to “Python Knowledge”

Users browsing this forum: No registered users and 18 guests