Override Modifier ใน C# คืออะไร

Override Modifier Ni C Khux Xari



ในสถานการณ์ที่เกี่ยวข้องกับการเขียนโปรแกรมเชิงวัตถุ เรามักจำเป็นต้องเสนอการนำเมธอดไปใช้งานซึ่งระบุไว้แล้วในคลาสหรืออินเทอร์เฟซพื้นฐาน โมดิฟายเออร์แทนที่ C# มีประโยชน์ในสถานการณ์นี้ ตัวแก้ไขการแทนที่ช่วยให้เราสามารถแก้ไขพฤติกรรมของวิธีการหรือคุณสมบัติที่สืบทอดมา บทความนี้จะกล่าวถึงการใช้ override modifier ใน C# และวิธีที่สามารถใช้เพื่อแก้ไขพฤติกรรมของสมาชิกที่สืบทอดมา

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 เราสามารถสร้างคลาสพิเศษเพิ่มเติมที่สืบทอดมาจากคลาสพื้นฐาน แต่มีลักษณะการทำงานเฉพาะของมันเอง