ผ่านการสืบทอด คุณสามารถกำหนดคลาสในแง่ของคลาสอื่น ซึ่งทำให้สร้างและดูแลแอปพลิเคชันได้ง่ายขึ้น นอกจากนี้ยังเปิดโอกาสให้นำฟังก์ชันโค้ดกลับมาใช้ใหม่และเพิ่มความเร็วในการติดตั้ง
การสืบทอดขึ้นอยู่กับคลาสฐานเช่นเดียวกับแนวคิดของคลาสที่ได้รับ คลาสสามารถได้รับมาจากคลาสหรืออินเตอร์เฟสมากกว่าหนึ่งคลาส ซึ่งหมายความว่าคลาสสามารถสืบทอดข้อมูลและฟังก์ชันจากคลาสหรืออินเตอร์เฟสพื้นฐานได้หลายคลาส
ให้เราดูตัวอย่างของฐานและคลาสที่ได้รับ ที่นี่ Shape เป็นคลาสพื้นฐานในขณะที่ Rectangle เป็นคลาสที่ได้รับ -
class Rectangle: Shape { // methods }
ต่อไปนี้เป็นตัวอย่างที่แสดงวิธีการทำงานกับคลาสฐานและคลาสที่ได้รับในการสืบทอด -
ตัวอย่าง
using System; namespace InheritanceApplication { class Shape { public void setWidth(int w) { width = w; } public void setHeight(int h) { height = h; } protected int width; protected int height; } // Derived class class Rectangle: Shape { public int getArea() { return (width * height); } } class RectangleTester { static void Main(string[] args) { Rectangle Rect = new Rectangle(); Rect.setWidth(5); Rect.setHeight(7); // Print the area of the object. Console.WriteLine("Total area: {0}", Rect.getArea()); Console.ReadKey(); } } }
ผลลัพธ์
Total area: 35