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

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

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

ภาพประจำตัวสมาชิก
teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

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

โพสต์โดย teenproza7 » 17/05/2019 3:33 pm

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

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

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

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

#-*- 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)


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

Selection_749.png
Selection_749.png (30.35 KiB) เปิดดู 66 ครั้ง


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

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

บทเรียน Python

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

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

Python Knowledge

Programming - C/C++ & java & Python
รูปภาพ

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

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

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