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

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

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