23.Polymorphism
Last updated
Last updated
💬 หลังจากที่เห็นน้ำจิ้มตัวแรกในโลกของ object กันไปละ คราวนี้เราจะมาดูความสามารถที่ได้จากการทำ Inheritance ที่เรียกว่า Polymorphism กันดูบ้างว่ามันมาช่วยแก้ปัญหาเรื่องอะไรได้อีกบ้างกันครับ
1.การเปลี่ยนรูปของคลาส Base Class สามารถเก็บ object ของ Derived Class ของมันได้ ซึ่งความสามารถนี้คือหัวใจหลักของ Polymorphism เลยล่ะ
เจ้าลูกทรพี! ในทางกลับกัน Derived Class จะไม่สามารถเก็บ object ของ Base Class ได้
2.virtual & override keyword เราสามารถใช้คำสั่ง virtual ให้กับ method ของ Base Class ได้ เพื่อบอกว่าถ้า Derived Class ตัวไหนอยากเปลี่ยนการทำงานไปจาก Base Class ก็สามารถเปลี่ยนได้ โดย
new keyword ถ้า Derived Class อยากตัดความสัมพันธ์จาก Base Class แล้ว ก็สามารถทำได้ด้วยการใช้ new keyword ไปวางไว้หน้า property หรือ method ที่เป็น virtual นั่นเอง
3.base keyword เป็นการบอกว่าให้เรียกใช้งานความสามารถนั้นๆจาก Base Class
4.sealed keyword เป็นการระบุว่า ณ จุดนั้นๆ ไม่อนุญาติให้คลาสอื่นๆมาสืบทอดหรือเปลี่ยนแปลงมันได้อีกต่อไปแล้ว (เป็นหมันนั่นเอง)
sealed class คือคลาสที่ไม่ยอมให้คลาสอื่นสืบทอดได้อีก
sealed member คือ member ที่ไม่ยอมให้ Derived Class มาทำการแก้ไขมันได้อีกแล้ว เช่น sealed method นั่นเอง