23.Polymorphism

💬 หลังจากที่เห็นน้ำจิ้มตัวแรกในโลกของ object กันไปละ คราวนี้เราจะมาดูความสามารถที่ได้จากการทำ Inheritance ที่เรียกว่า Polymorphism กันดูบ้างว่ามันมาช่วยแก้ปัญหาเรื่องอะไรได้อีกบ้างกันครับ

🎥 ตัวอย่างการใช้ Polymorphism

🎯 สรุปสั้นๆ

👨‍🚀 สิ่งที่สามารถทำได้เมื่อทำ inheritance แล้ว

1.การเปลี่ยนรูปของคลาส Base Class สามารถเก็บ object ของ Derived Class ของมันได้ ซึ่งความสามารถนี้คือหัวใจหลักของ Polymorphism เลยล่ะ

circle-exclamation

2.virtual & override keyword เราสามารถใช้คำสั่ง virtual ให้กับ method ของ Base Class ได้ เพื่อบอกว่าถ้า Derived Class ตัวไหนอยากเปลี่ยนการทำงานไปจาก Base Class ก็สามารถเปลี่ยนได้ โดย

circle-info

new keyword ถ้า Derived Class อยากตัดความสัมพันธ์จาก Base Class แล้ว ก็สามารถทำได้ด้วยการใช้ new keyword ไปวางไว้หน้า property หรือ method ที่เป็น virtual นั่นเอง

3.base keyword เป็นการบอกว่าให้เรียกใช้งานความสามารถนั้นๆจาก Base Class

4.sealed keyword เป็นการระบุว่า ณ จุดนั้นๆ ไม่อนุญาติให้คลาสอื่นๆมาสืบทอดหรือเปลี่ยนแปลงมันได้อีกต่อไปแล้ว (เป็นหมันนั่นเอง)

circle-info

sealed class คือคลาสที่ไม่ยอมให้คลาสอื่นสืบทอดได้อีก

circle-info

sealed member คือ member ที่ไม่ยอมให้ Derived Class มาทำการแก้ไขมันได้อีกแล้ว เช่น sealed method นั่นเอง

Last updated

Was this helpful?