Interface ใน C # คืออะไรพร้อมตัวอย่าง
ส่วนต่อประสานใน C # คืออะไร?
An อินเตอร์เฟซ ใน C# ใช้ร่วมกับคลาสเพื่อกำหนดสัญญาซึ่งเป็นข้อตกลงว่าคลาสจะจัดเตรียมอะไรให้กับแอปพลิเคชัน อินเทอร์เฟซจะกำหนดว่าคลาสสามารถดำเนินการอะไรได้บ้าง อินเทอร์เฟซจะประกาศคุณสมบัติและวิธีการ เป็นหน้าที่ของคลาสที่จะกำหนดว่าวิธีการนั้นจะทำอะไร
มาดูตัวอย่างอินเทอร์เฟซโดยการเปลี่ยนคลาสในแอปพลิเคชันคอนโซลของเรา โปรดทราบว่าเราจะไม่เรียกใช้โค้ดเนื่องจากไม่มีสิ่งใดที่สามารถเรียกใช้โดยใช้อินเทอร์เฟซได้
ตัวอย่างอินเทอร์เฟซ C#
มาสร้างคลาสอินเทอร์เฟซกันเถอะ ชั้นเรียนนี้จะถูกเรียกว่า "Guru99Interface" คลาสหลักของเราจะขยายอินเทอร์เฟซที่กำหนดไว้ รหัสทั้งหมดจะต้องเขียนลงในไฟล์ Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
interface IGuru99Interface
{
void SetTutorial(int pID, string pName);
String GetTutorial();
}
class Guru99Tutorial : IGuru99Interface
{
protected int TutorialID;
protected string TutorialName;
public void SetTutorial(int pID, string pName)
{
TutorialID = pID;
TutorialName = pName;
}
public String GetTutorial()
{
return TutorialName;
}
static void Main(string[] args)
{
Guru99Tutorial pTutor = new Guru99Tutorial();
pTutor.SetTutorial(1,".Net by Guru99");
Console.WriteLine(pTutor.GetTutorial());
Console.ReadKey();
}
}
}
คำอธิบายรหัส:-
ที่นี่ เราจะอธิบายส่วนสำคัญของโค้ด
- ก่อนอื่นเรากำหนดอินเทอร์เฟซที่เรียกว่า "Guru99Interface" โปรดทราบว่าคำหลัก "อินเทอร์เฟซ" ใช้เพื่อกำหนดอินเทอร์เฟซ
- ต่อไป เราจะกำหนดวิธีการที่จะใช้กับอินเทอร์เฟซของเรา ในกรณีนี้ เราจะกำหนดวิธีการเดียวกันกับที่ใช้ในตัวอย่างก่อนหน้านี้ทั้งหมด โปรดทราบว่าอินเทอร์เฟซจะประกาศวิธีการเท่านั้น ไม่ได้กำหนดโค้ดในวิธีการเหล่านั้น
- จากนั้นเราสร้างคลาส Guru99Tutorial เพื่อขยายอินเทอร์เฟซ นี่คือที่ที่เราเขียนโค้ดเพื่อกำหนดเมธอดต่างๆ ที่ประกาศไว้ในอินเทอร์เฟซ การเขียนโค้ดแบบนี้จะบรรลุผลดังต่อไปนี้
- ช่วยให้มั่นใจได้ว่าคลาส Guru99Tutorial จะเพิ่มเฉพาะโค้ดที่จำเป็นสำหรับวิธีการ "SetTutorial" และ "GetTutorial" เท่านั้น และไม่มีอะไรอื่นอีก
- นอกจากนี้ยังช่วยให้แน่ใจว่าอินเทอร์เฟซทำงานเหมือนสัญญา ที่ ชั้น จะต้องปฏิบัติตามสัญญา ดังนั้นหากสัญญาระบุว่าควรมีสองวิธีที่เรียกว่า "SetTutorial" และ "GetTutorial" ก็ควรจะเป็นเช่นนั้น
สรุป
- อินเทอร์เฟซกำหนดสัญญาที่คลาสจะต้องปฏิบัติตาม อินเทอร์เฟซกำหนดว่าคลาสสามารถดำเนินการอะไรได้บ้าง

