สารบัญ:
คำจำกัดความ - คลาสที่ได้รับหมายถึงอะไร
คลาสที่ได้รับในบริบทของ C # เป็นคลาสที่สร้างขึ้นหรือมาจากคลาสอื่นที่มีอยู่ คลาสที่มีอยู่ซึ่งคลาสที่ได้รับถูกสร้างขึ้นผ่านการสืบทอดนั้นเรียกว่าคลาสพื้นฐานหรือคลาสซุปเปอร์
ในขณะที่สืบทอดจากคลาสฐานคลาสที่ได้รับโดยนัยจะสืบทอดสมาชิกทั้งหมด (ยกเว้นตัวสร้างและ destructors) ซึ่งจะนำมาใช้ขยายและปรับเปลี่ยนพฤติกรรมของคลาสฐาน คลาสที่ได้รับมาแทนที่คุณสมบัติและเมธอดของคลาสพื้นฐานเพื่อให้แสดงถึงเวอร์ชันเฉพาะของคลาสพื้นฐาน C # ให้ความสามารถในการแทนที่และซ่อนเมธอดของคลาสฐานในคลาสที่ได้รับซึ่งทำให้ทั้งสองคลาสพัฒนาอย่างอิสระและรักษาความเข้ากันได้ของไบนารี
Techopedia อธิบายคลาสที่ได้รับ
ต่อไปนี้เป็นคุณสมบัติบางอย่างของคลาสที่ได้รับใน C #:
- เช่นเดียวกับใน Java และแตกต่างจาก C ++ คลาสที่ได้รับไม่สามารถมีคลาสพื้นฐานได้มากกว่าหนึ่งคลาส แต่สามารถรับได้จากมากกว่าหนึ่งอินเตอร์เฟส อย่างไรก็ตามมันสืบทอดสมาชิกทั้งหมดของคลาสฐานพาเรนต์ที่ประกาศในลำดับชั้นการสืบทอดเนื่องจากลักษณะสกรรมกริยาของการสืบทอด
- ตัวดัดแปลงการเข้าถึงที่ใช้ในคำสั่งประกาศของคลาสที่ได้รับระบุสิทธิ์ในการใช้สมาชิกของคลาสพื้นฐาน
- รหัสในตัวสร้างของคลาสที่ได้รับซึ่งถูกดำเนินการในระหว่างการสร้างจะถูกดำเนินการหลังจากดำเนินการตัวสร้างของชั้นฐานของมัน
- คลาสที่ได้รับมาจะต้องใช้ตัวปรับแต่ง 'override' เพื่อประกาศเมธอดเสมือน (ประกาศในคลาสพื้นฐานด้วยคีย์เวิร์ด 'virtual') ที่จะต้องถูกแทนที่ สามารถแทนที่เมธอดและคุณสมบัติของอินสแตนซ์ได้เท่านั้น
- คลาสที่ได้รับสามารถมีวิธีการใหม่ที่ซ่อนวิธีเสมือนที่ประกาศในฐาน (มีลายเซ็นที่คล้ายกัน) โดยใช้คำหลัก 'ใหม่' ในการเข้าถึงวิธีการในคลาสฐานจากคลาสที่ได้รับสามารถใช้คีย์เวิร์ด 'base'
- คลาสสามารถป้องกันการสืบทอดโดยการประกาศว่า 'ผนึก' และไม่สามารถใช้เป็นคลาสพื้นฐานได้
- คลาสที่ได้รับมาพร้อมกับคลาสฐานเป็นคลาสนามธรรมสามารถอินสแตนซ์ถ้าคลาสที่ได้รับไม่ได้ประกาศนามธรรมและคลาสที่ได้รับมีการใช้งานสำหรับวิธีนามธรรมทั้งหมดที่ประกาศในชั้นฐาน
