สารบัญ:
คำจำกัดความ - Override หมายถึงอะไร
Override ใน C # เป็นคีย์เวิร์ดที่ใช้เพื่อแทนที่สมาชิกเสมือนที่กำหนดไว้ในคลาสฐานพร้อมนิยามของสมาชิกนั้นในคลาสที่ได้รับ
ตัวแก้ไขการแทนที่ช่วยให้โปรแกรมเมอร์สามารถระบุความเชี่ยวชาญของสมาชิกเสมือนที่มีอยู่ซึ่งสืบทอดมาจากคลาสพื้นฐานเพื่อให้มีการใช้งานใหม่ของสมาชิกนั้นในคลาสที่ได้รับ มันสามารถใช้กับวิธีการคุณสมบัติดัชนีหรือเหตุการณ์ที่ต้องมีการแก้ไขหรือขยายในระดับที่ได้รับ
override modifier มีวัตถุประสงค์เพื่อนำแนวคิดของ polymorphism มาใช้ใน C #
การแทนที่จะแตกต่างจากตัวดัดแปลงใหม่ที่อดีตถูกใช้เพื่อแทนที่สมาชิกเสมือนของคลาสพื้นฐานในขณะที่ส่วนหลังยังช่วยแทนที่สมาชิกที่ไม่ใช่เสมือนที่กำหนดไว้ในคลาสพื้นฐานโดยการซ่อนคำจำกัดความที่มีอยู่ในคลาสพื้นฐาน
Techopedia อธิบาย Override
การแทนที่ส่วนใหญ่จะใช้ในบริบทของวิธีการเสมือนซึ่งการดำเนินการตามประเภทของวิธีการจะถูกกำหนดโดยประเภทรันไทม์ของอินสแตนซ์ที่มีการเรียกใช้วิธีการ ในระหว่างการเรียกผู้เรียกไม่จำเป็นต้องทราบว่าวัตถุที่เรียกว่าเป็นตัวอย่างของการเรียนที่ได้รับ
ตัวอย่างเช่นถ้า Shape เป็นคลาสพื้นฐานที่ให้การใช้งานพื้นฐานที่เป็นเรื่องธรรมดาสำหรับวัตถุทั้งหมดของคลาสนั้นสามารถกำหนดได้ด้วยเมธอดเสมือน CalculateArea สแควร์สามารถเป็นคลาสที่ได้มาจากรูปร่างซึ่งสามารถแทนที่เมธอด CalculateArea เพื่อใช้ตรรกะที่จำเป็นสำหรับการคำนวณพื้นที่ของสแควร์
ในการแทนที่เมธอดในคลาสที่ได้รับ:
- จะต้องประกาศวิธีการในคลาสฐานด้วยตัวแก้ไขเสมือน
- วิธีการในชั้นฐานสามารถเป็นนามธรรม แต่ไม่คงที่
- ตัวดัดแปลงการเข้าถึงของวิธีการในคลาสพื้นฐานและคลาสที่ได้รับควรเหมือนกัน
- เมธอดควรถูกกำหนดด้วยลายเซ็นเดียวกันในทั้งคลาสที่ได้รับและคลาสพื้นฐาน
