ผ่านการสืบทอด คุณสามารถกำหนดคลาสในแง่ของคลาสอื่น ซึ่งทำให้สร้างและดูแลแอปพลิเคชันได้ง่ายขึ้น นอกจากนี้ยังเปิดโอกาสให้นำฟังก์ชันโค้ดกลับมาใช้ใหม่และเพิ่มความเร็วในการติดตั้ง
การสืบทอดขึ้นอยู่กับคลาสฐานเช่นเดียวกับแนวคิดของคลาสที่ได้รับ คลาสสามารถได้รับมาจากคลาสหรืออินเตอร์เฟสมากกว่าหนึ่งคลาส ซึ่งหมายความว่าคลาสสามารถสืบทอดข้อมูลและฟังก์ชันจากคลาสหรืออินเตอร์เฟสพื้นฐานได้หลายคลาส
ให้เราดูตัวอย่างของฐานและคลาสที่ได้รับ ที่นี่ 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