ของเดิมแต่เพิ่มความสามารถใหม่ด้วย Override Python

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

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

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

ของเดิมแต่เพิ่มความสามารถใหม่ด้วย Override Python

โพสต์โดย teenproza7 » 17/05/2019 6:11 pm

:like:
สำหรับการรับทอด หรือ Inheritance นั้นสามารถสืบทอดได้จาก Class พ่อไปยัง Class ลูกโดยที่เราสามารถรับ Method เพื่อนำไปใช้

แต่รู้หรือไม่ว่าเราสามารถนำ Method ที่รับจาก Class พ่อมาเรียกใช้ใหม่โดยที่ Method ของ Class พ่อ ยังอยู่ได้ด้วยการ Override

ตัวอย่างเช่น

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


class father:
    def call(self):
        print "\nthis is father method\n"

class child(father):
    def call(self):
        print "\nthis is child method\n"

c = father()
#c = child()

c.method()


ใน Class father มีการสร้าง method ที่ชื่อว่า call เมื่อมีการเรียกใช้ method call จะทำการ ประกาศ "this is father method" ดังภาพ

Selection_752.png
Selection_752.png (42.03 KiB) เปิดดู 60 ครั้ง


แต่เมื่อเราสร้าง Class child ที่มีการรับทอด จาก father ทำให้สามารถใช้ method call จาก class father ได้เหมือนกัน

และสามารถสร้างคุณสมบัติใหม่ให้กับ method call ได้อีกด้วย นั่นคือคุณสมบัติการ Override

ที่ทำให้เมื่อเรียกใช้ method call จะสามารถประกาศ "this is child method" โดยที่ไม่จำเป็นต้องสร้าง method ใหม่ ดังภาพ

Selection_754.png
Selection_754.png (46.58 KiB) เปิดดู 60 ครั้ง




สรุปเรื่อง Override Method

1. Override Method เป็นการทำซ้ำ Method ใน Class ลูก โดย Method เหล่านั้นมีการสร้างเอาไว้แล้วใน Class พ่อ

2. Override Method ทำให้ Class ลูกสามารถเรียกใช้งาน Method ชื่อเดิมแต่สามารถสร้างคุณสมบัติใหม่ที่แตกต่างจาก Class แม่ได้ ทำให้การออกแบบ Class มีประสิทธิภาพมากยิ่งขึ้น

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

บทเรียน Python

Overriding Method

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

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

Python Knowledge

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

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

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

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