บทความ

Overloading vs Overriding

ในเรื่องการทำ Polymorphism เรามักจะเจอ 2 คำคือ Overriding กับ Overloading ซึ่งบางครั้งสร้างความสับสนให้เราได้เหมือนกันว่า มันต่างกันอย่างไร แถมชื่อยังคล้ายๆกันเสียอีก ยิ่งบางครั้งเอาไปใช้สลับกันมั่วไปหมด

ความแตกต่างของ Overriding กับ Overloading

สิ่งที่เหมือนกันก็คือ สองอย่างนี้มันเป็นศัพท์ที่ใช้ตอนเขียน Method นะครับ

ส่วนสิ่งที่ต่างกันก็คือ

Method overriding – เป็นเรื่องของ Polymorphism มันต้องมีการสืบทอดเข้ามาเกี่ยวข้อง มีคลาสแม่ มีคลาสลูก การทำก็คือ ทำให้ method ของ class ลูก ทำงานต่างจาก ของ class แม่ ทั้งๆที่ ชื่อ กับพวกค่าที่ส่งเข้า Method เหมือนกันเด๊ะ

Method overloading –  เป็นเรื่องของการที่ Method ชื่อเดียวกัน แต่มีพวกค่าที่ส่งเข้า Method ต่างกัน จะเป็นเรื่องของ Class Class เดียวครับ บางคนบอกว่ามันไม่เกี่ยวกับเรื่อง Polymorphism แต่บางครั้งก็อาจจะถูกเรียกว่า Static polymorphism นะครับ

 

สวัสดี

 

อ้างอิง

http://www.c-sharpcorner.com/UploadFile/d0a1c8/object-oriented-programming-in-C-Sharp-net/

 

You may also like