การสืบทอด
ใช้พฤติกรรมซ้ำและปรับให้เฉพาะเจาะจงผ่านคลาสฐาน
ทำงานอย่างไร
การสืบทอดจำลองความสัมพันธ์แบบ is-a และควรใช้เมื่อออบเจกต์คลาสลูกเป็นไปตามสัญญาของคลาสฐานจริง ๆ
constructor ของคลาสฐานกำหนดสถานะร่วม คลาสลูก override เมธอด virtual เพื่อปรับพฤติกรรมให้เฉพาะเจาะจง
ตัวอย่าง C# ที่รันได้
Program.cs
using System;
class Employee(string name)
{
public string Name { get; } = name;
public virtual string Describe() => Name;
}
class Developer(string name, string language) : Employee(name)
{
public override string Describe() => $"{Name} writes {language}";
}
class Program
{
static void Main() => Console.WriteLine(new Developer("Ada", "C#").Describe());
}
Ada writes C#ฝึกกับดีบักเกอร์
ตั้ง breakpoint ที่การกำหนดค่าหรือเงื่อนไขสำคัญ กด Debug แล้วดูค่าตัวแปรภายในก่อนไปยังบรรทัดถัดไป
ฝึกด้วยโจทย์
ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI
โจทย์ทั้งหมด