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

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

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

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

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

Postby teenproza7 » 17/05/2019 6:11 pm

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

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

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

Code: Select all


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) Viewed 144 times


แต่เมื่อเราสร้าง 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) Viewed 144 times




สรุปเรื่อง 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
Image

Return to “Python Knowledge”

Who is online

Users browsing this forum: No registered users and 15 guests