Override Modifier คืออะไร?
ใน C# คุณสามารถสร้างการใช้งานเมธอดหรือคุณสมบัติใหม่ที่ประกาศไว้แล้วในคลาสพื้นฐานหรืออินเทอร์เฟซได้โดยใช้ตัวแก้ไขการแทนที่ ช่วยให้เราสามารถเปลี่ยนพฤติกรรมของสมาชิกที่สืบทอดมาของคลาสที่ได้รับ เมื่อเราแทนที่เมธอดหรือพร็อพเพอร์ตี้ เราสามารถจัดเตรียมการใช้งานของเราเองสำหรับสมาชิกนั้น ซึ่งจะแทนที่การใช้งานที่จัดเตรียมโดยคลาสพื้นฐานหรืออินเทอร์เฟซ
จะใช้ Override Modifier ได้อย่างไร?
หากต้องการใช้ตัวแก้ไขการแทนที่ เราจำเป็นต้องทำตามขั้นตอนด้านล่าง:
- สืบทอดคลาสพื้นฐานหรืออินเทอร์เฟซที่มีเมธอดหรือคุณสมบัติที่เราต้องการแทนที่
- ในคลาสที่ได้รับ ให้ประกาศเมธอดหรือคุณสมบัติใหม่ที่มีชื่อและลายเซ็นเดียวกัน
- ใช้คีย์เวิร์ดแทนที่ก่อนการประกาศเมธอดหรือคุณสมบัติเพื่อระบุว่าเรากำลังแทนที่สมาชิกที่สืบทอดมา
เพื่อช่วยให้คุณเข้าใจสิ่งนี้ในเชิงลึกยิ่งขึ้น นี่คือตัวอย่าง
พิจารณาคลาสฐานที่เรียกว่า 'Vehicle' ที่มีฟังก์ชัน 'Start' ในชื่อ วิธีการสตาร์ทเพียงแค่พิมพ์ข้อความไปที่คอนโซลเพื่อแจ้งว่ารถได้สตาร์ทแล้ว ตอนนี้ สมมติว่าฉันต้องการสร้างคลาสใหม่ชื่อ 'รถยนต์' ที่สืบทอดมาจากคลาสยานพาหนะ แต่มีการใช้งานของตัวเองสำหรับเมธอด Start นี่คือวิธีที่เราสามารถทำได้โดยใช้ตัวแก้ไขการแทนที่:
ใช้ระบบ ;
รถคลาส
{
เสมือนสาธารณะ เป็นโมฆะ เริ่ม ( )
{
คอนโซล เขียนไลน์ ( 'รถสตาร์ทแล้ว' ) ;
}
}
รถคลาส : ยานพาหนะ
{
การแทนที่สาธารณะ เป็นโมฆะ เริ่ม ( )
{
คอนโซล เขียนไลน์ ( 'รถสตาร์ทแล้ว' ) ;
}
}
โปรแกรมคลาส
{
คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง )
{
ยานพาหนะ = ยานพาหนะใหม่ ( ) ;
ยานพาหนะ. เริ่ม ( ) ; // เอาต์พุต: รถสตาร์ทแล้ว
รถ รถ = รถใหม่ ( ) ;
รถ. เริ่ม ( ) ; // เอาท์พุต: รถสตาร์ท
}
}
ที่นี่ฉันได้สร้างคลาสใหม่ชื่อ 'รถยนต์' ที่สืบทอดมาจากคลาส 'ยานพาหนะ' ฉันได้ประกาศวิธีการใหม่ที่เรียกว่า 'Start' ในคลาส 'Car' ด้วยชื่อและลายเซ็นเดียวกันกับวิธีการในคลาส 'Vehicle' ฉันใช้ตัวแก้ไขการแทนที่เพื่อระบุว่าเรากำลังแทนที่วิธีการที่สืบทอดมา
ในหน้าหลัก ฉันได้สร้างอินสแตนซ์ของทั้งคลาส Vehicle และ Car และเรียกเมธอด Start บนอินสแตนซ์เหล่านั้น เมื่อฉันเรียกใช้เมธอด Start บนวัตถุ Vehicle จะพิมพ์ 'Vehicle start' ไปที่คอนโซล เมื่อฉันเรียกใช้เมธอด Start บนวัตถุ Car มันจะพิมพ์ “Car start” บนคอนโซล สิ่งนี้แสดงให้เห็นว่าเราได้แทนที่เมธอด Start ในคลาสที่ได้รับเรียบร้อยแล้ว:
บทสรุป
ตัวแก้ไขการแทนที่ใน C# เป็นเครื่องมือที่มีประสิทธิภาพที่ช่วยให้เราสามารถปรับเปลี่ยนพฤติกรรมของสมาชิกที่สืบทอดมา มันถูกใช้เพื่อจัดเตรียมการใช้งานของเราเองสำหรับเมธอดหรือคุณสมบัติที่กำหนดไว้แล้วในคลาสพื้นฐานหรืออินเทอร์เฟซ เราได้พูดถึงวิธีการใช้ override modifier ใน C# และสาธิตการใช้งานด้วยตัวอย่างง่ายๆ ด้วยการใช้ override modifier เราสามารถสร้างคลาสพิเศษเพิ่มเติมที่สืบทอดมาจากคลาสพื้นฐาน แต่มีลักษณะการทำงานเฉพาะของมันเอง