0Pricing
C# Academy · บทเรียน

บทนำสู่อินเทอร์เฟซ

เรียนรู้ว่าอินเทอร์เฟซกำหนดข้อตกลงสำหรับคลาสและเพิ่มความยืดหยุ่นให้โค้ดอย่างไร

บทนำสู่อินเทอร์เฟซ เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 6 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 6 บทเรียน

บทนำสู่อินเทอร์เฟซ

บทนำสู่อินเทอร์เฟซ

ยินดีต้อนรับสู่บทเรียนแรกในหัวข้อแนวคิดการเขียนโปรแกรมขั้นสูง ในบทเรียนนี้ คุณจะได้เรียนรู้เกี่ยวกับอินเทอร์เฟซ จุดประสงค์ของอินเทอร์เฟซ และวิธีใช้เพื่อให้เกิดนามธรรมและความยืดหยุ่นในโปรแกรม C# ของคุณ มาเริ่มกันเลย

บทนำสู่อินเทอร์เฟซ — ภาพประกอบ 1

อินเทอร์เฟซคืออะไร

อินเทอร์เฟซคืออะไร

อินเทอร์เฟซ คือข้อตกลงที่กำหนดชุดของเมธอดและคุณสมบัติที่คลาสต้องนำไปใช้งาน อินเทอร์เฟซไม่ได้จัดเตรียมการทำงานไว้ด้วยตนเอง แต่ช่วยให้แน่ใจว่าคลาสใด ๆ ที่นำอินเทอร์เฟซไปใช้งานจะสอดคล้องกับการออกแบบที่กำหนดไว้

ตัวอย่าง: อินเทอร์เฟซสำหรับ “Vehicle” อาจกำหนดเมธอดอย่าง Start() และ Stop() ซึ่งยานพาหนะทุกชนิดต้องนำไปใช้งาน

ประเด็นสำคัญ: อินเทอร์เฟซช่วยให้คุณออกแบบโค้ดที่ยืดหยุ่นและนำกลับมาใช้ใหม่ได้ โดยแยกพฤติกรรมออกจากการนำไปใช้งาน

การกำหนดอินเทอร์เฟซ

การกำหนดอินเทอร์เฟซ

หากต้องการกำหนดอินเทอร์เฟซใน C# ให้ใช้คีย์เวิร์ด interface ตัวอย่าง:

เคล็ดลับ: ตามธรรมเนียม ชื่ออินเทอร์เฟซใน C# จะขึ้นต้นด้วยตัวอักษร I

using System;

interface IVehicle {
    void Start();
    void Stop();
}

การนำอินเทอร์เฟซไปใช้งาน

การนำอินเทอร์เฟซไปใช้งาน

หากต้องการนำอินเทอร์เฟซไปใช้งาน คลาสต้องกำหนดเมธอดและคุณสมบัติทั้งหมดที่ประกาศไว้ในอินเทอร์เฟซ ตัวอย่าง:

ประเด็นสำคัญ: คลาสหนึ่งสามารถนำอินเทอร์เฟซหลายรายการไปใช้งานเพื่อรองรับพฤติกรรมหลายรูปแบบได้

using System;

interface IVehicle {
    void Start();
    void Stop();
}

class Car : IVehicle {
    public void Start() {
        Console.WriteLine("Car is starting.");
    }

    public void Stop() {
        Console.WriteLine("Car is stopping.");
    }
}

class Program {
    static void Main() {
        IVehicle myCar = new Car();
        myCar.Start();
        myCar.Stop();
    }
}

เหตุใดจึงควรใช้อินเทอร์เฟซ

เหตุใดจึงควรใช้อินเทอร์เฟซ

อินเทอร์เฟซมีข้อดีหลายประการ:

  • นามธรรม: กำหนดพฤติกรรมโดยไม่ระบุรายละเอียดการนำไปใช้งาน
  • ความยืดหยุ่น: คลาสหนึ่งสามารถนำอินเทอร์เฟซหลายรายการไปใช้งาน ทำให้รองรับบทบาทได้หลายรูปแบบ
  • ความสอดคล้อง: บังคับใช้โครงสร้างร่วมกันในคลาสที่เกี่ยวข้องกัน

เคล็ดลับ: ใช้อินเทอร์เฟซเมื่อคุณต้องการกำหนดข้อตกลงร่วมกันโดยไม่กำหนดว่าจะต้องปฏิบัติตามข้อตกลงนั้นอย่างไร

การรวมอินเทอร์เฟซหลายรายการ

การรวมอินเทอร์เฟซหลายรายการ

คลาสหนึ่งสามารถนำอินเทอร์เฟซหลายรายการไปใช้งาน เพื่อรวมชุดพฤติกรรมที่แตกต่างกันได้ ตัวอย่าง:

using System;

interface IVehicle {
    void Start();
    void Stop();
}

interface IRadio {
    void PlayMusic();
}

class Car : IVehicle, IRadio {
    public void Start() {
        Console.WriteLine("Car is starting.");
    }

    public void Stop() {
        Console.WriteLine("Car is stopping.");
    }

    public void PlayMusic() {
        Console.WriteLine("Playing music.");
    }
}

class Program {
    static void Main() {
        Car myCar = new Car();
        myCar.Start();
        myCar.PlayMusic();
        myCar.Stop();
    }
}

โจทย์ฝึกปฏิบัติ

โจทย์ฝึกปฏิบัติ

สร้างอินเทอร์เฟซ IShape พร้อมเมธอด CalculateArea() จากนั้นนำอินเทอร์เฟซนี้ไปใช้งานในคลาส Rectangle และ Circle ตัวอย่าง:

using System;

interface IShape {
    double CalculateArea();
}

class Rectangle : IShape {
    public double Width { get; set; }
    public double Height { get; set; }

    public double CalculateArea() {
        return Width * Height;
    }
}

class Circle : IShape {
    public double Radius { get; set; }

    public double CalculateArea() {
        return Math.PI * Radius * Radius;
    }
}

class Program {
    static void Main() {
        IShape rectangle = new Rectangle { Width = 5, Height = 4 };
        IShape circle = new Circle { Radius = 3 };

        Console.WriteLine("Rectangle Area: " + rectangle.CalculateArea());
        Console.WriteLine("Circle Area: " + circle.CalculateArea());
    }
}

แนวทางปฏิบัติที่ดีในการใช้อินเทอร์เฟซ

แนวทางปฏิบัติที่ดีในการใช้อินเทอร์เฟซ

แนวทางปฏิบัติที่ดีมีดังนี้:

  • ใช้อินเทอร์เฟซเพื่อกำหนดข้อตกลงที่คลาสต้องปฏิบัติตาม
  • เลือกใช้อินเทอร์เฟซแทนการสืบทอดสำหรับคลาสที่ไม่เกี่ยวข้องกันแต่มีพฤติกรรมร่วมกัน
  • ทำให้อินเทอร์เฟซมีขอบเขตชัดเจน และหลีกเลี่ยงการใส่เมธอดหรือคุณสมบัติที่ไม่จำเป็น

เคล็ดลับ: อินเทอร์เฟซควรอธิบายว่าคลาสทำอะไร ไม่ใช่อธิบายว่าคลาสทำสิ่งนั้นอย่างไร

ทำได้ยอดเยี่ยม

ทำได้ยอดเยี่ยม

ขอแสดงความยินดีด้วย คุณได้เรียนรู้พื้นฐานของอินเทอร์เฟซและวิธีใช้เพื่อให้เกิดนามธรรมและความยืดหยุ่นในโปรแกรมแล้ว ในบทเรียนถัดไป เราจะเจาะลึกเรื่องคลาสนามธรรมและเรียนรู้ว่าคลาสเหล่านี้แตกต่างจากอินเทอร์เฟซอย่างไร มาเขียนโค้ดกันต่อเลย

บทนำสู่อินเทอร์เฟซ — ภาพประกอบ 10

คำถามที่พบบ่อย

บทเรียน “บทนำสู่อินเทอร์เฟซ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “บทนำสู่อินเทอร์เฟซ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 6 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “บทนำสู่อินเทอร์เฟซ”

เรียนรู้ว่าอินเทอร์เฟซกำหนดข้อตกลงสำหรับคลาสและเพิ่มความยืดหยุ่นให้โค้ดอย่างไร คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 6 บทเรียน

บทเรียน “บทนำสู่อินเทอร์เฟซ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม

ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บทนำสู่อินเทอร์เฟซ
  2. คลาสนามธรรม
  3. สมาชิกและเมธอดแบบสแตติก
  4. สำรวจชนิดแจกแจงและโครงสร้าง
  5. ตัวแทนและเหตุการณ์
  6. การทำงานกับคอลเลกชัน: รายการ พจนานุกรม และคิว
← กลับไปที่ C# Academy