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

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

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

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

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

Post by teenproza7 » 17/05/2019 6:11 pm

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

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

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

[code]

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()
[/code]

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

[attachment=1]Selection_752.png[/attachment]

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

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

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

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



สรุปเรื่อง 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
Attachments
Selection_752.png
Selection_752.png (42.03 KiB) Viewed 167 times
Selection_754.png
Selection_754.png (46.58 KiB) Viewed 167 times
Image

Return to “Python Knowledge”

Users browsing this forum: No registered users and 14 guests