C# เชิงวัตถุ

อินเทอร์เฟซและนามธรรม

นิยามความสามารถที่ชนิดซึ่งไม่เกี่ยวข้องกันก็ทำได้

ทำงานอย่างไร

อินเทอร์เฟซอธิบายว่าออบเจกต์ทำอะไรได้ โดยไม่กำหนดวิธีเก็บข้อมูลหรือลำดับการสืบทอด

เมธอด SendAll พึ่งพาแค่ INotifier จึงเพิ่มและทดสอบช่องทางแจ้งเตือนใหม่ได้ง่าย

ตัวอย่าง C# ที่รันได้

C#
รันโค้ด →
Program.cs
using System;

interface INotifier { void Send(string message); }
class EmailNotifier : INotifier { public void Send(string message) => Console.WriteLine($"Email: {message}"); }

class Program
{
    static void Main()
    {
        INotifier notifier = new EmailNotifier();
        notifier.Send("Build complete");
    }
}
ผลลัพธ์ที่คาดหวัง
Email: Build complete

ฝึกกับดีบักเกอร์

ตั้ง breakpoint ที่การกำหนดค่าหรือเงื่อนไขสำคัญ กด Debug แล้วดูค่าตัวแปรภายในก่อนไปยังบรรทัดถัดไป

ฝึกด้วยโจทย์

ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI

โจทย์ทั้งหมด