คำนวณเงินเดือนแบบพหุสัณฐาน
คำนวณเงินเดือนของพนักงานหลายประเภท
ทำงานอย่างไร
คลาสฐานแบบ abstract ทำให้โค้ดคำนวณเงินเดือนจัดการพนักงานทุกคนแบบเดียวกัน
การเลือกตอนรันไทม์เรียกการทำงาน Pay ที่ถูกต้องของพนักงานแต่ละประเภท
ตัวอย่าง C# ที่รันได้
Program.cs
using System;
using System.Linq;
abstract class Employee { public abstract decimal Pay(); }
class Salaried(decimal salary) : Employee { public override decimal Pay() => salary; }
class Hourly(decimal rate, int hours) : Employee { public override decimal Pay() => rate * hours; }
class Program
{
static void Main()
{
Employee[] staff = { new Salaried(1000), new Hourly(20, 10) };
Console.WriteLine(staff.Sum(employee => employee.Pay()));
}
}
1200ฝึกกับดีบักเกอร์
ตั้ง breakpoint ที่การกำหนดค่าหรือเงื่อนไขสำคัญ กด Debug แล้วดูค่าตัวแปรภายในก่อนไปยังบรรทัดถัดไป
ฝึกด้วยโจทย์
ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI
โจทย์ทั้งหมด