Interface ใน C # คืออะไรพร้อมตัวอย่าง
ส่วนต่อประสานใน C # คืออะไร?
An อินเตอร์เฟซ ใน C# จะใช้ร่วมกับคลาสเพื่อกำหนดคอนtracอินเทอร์เฟซคือข้อตกลงเกี่ยวกับสิ่งที่คลาสจะมอบให้แก่แอปพลิเคชัน อินเทอร์เฟซกำหนดว่าคลาสสามารถดำเนินการใดได้บ้าง อินเทอร์เฟซประกาศคุณสมบัติและเมธอด ส่วนคลาสจะเป็นผู้กำหนดว่าเมธอดนั้นจะทำอะไรอย่างแน่ชัด
มาดูตัวอย่างอินเทอร์เฟซโดยการเปลี่ยนคลาสในแอปพลิเคชันคอนโซลของเรา โปรดทราบว่าเราจะไม่เรียกใช้โค้ดเนื่องจากไม่มีสิ่งใดที่สามารถเรียกใช้โดยใช้อินเทอร์เฟซได้
ตัวอย่างอินเทอร์เฟซ 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();
}
}
}
Code คำอธิบาย:-
ที่นี่ เราจะอธิบายส่วนสำคัญของโค้ด
- ขั้นแรก เราจะกำหนดอินเทอร์เฟซที่เรียกว่า “Guru99อินเทอร์เฟซ” โปรดสังเกตว่าคำหลัก “อินเทอร์เฟซ” ใช้เพื่อกำหนดอินเทอร์เฟซ
- ต่อไป เราจะกำหนดวิธีการที่จะใช้กับอินเทอร์เฟซของเรา ในกรณีนี้ เราจะกำหนดวิธีการเดียวกันกับที่ใช้ในตัวอย่างก่อนหน้านี้ทั้งหมด โปรดทราบว่าอินเทอร์เฟซจะประกาศวิธีการเท่านั้น ไม่ได้กำหนดโค้ดในวิธีการเหล่านั้น
- จากนั้นเราจึงสร้างของเรา Guruคลาส 99Tutorial สืบทอดมาจากอินเทอร์เฟซ ตรงนี้คือส่วนที่เราเขียนโค้ดเพื่อกำหนดเมธอดต่างๆ ที่ประกาศไว้ในอินเทอร์เฟซ การเขียนโค้ดแบบนี้จะทำให้ได้ผลลัพธ์ดังต่อไปนี้
- สิ่งนี้ทำให้มั่นใจได้ว่าชั้นเรียนนั้น Guru99Tutorial จะเพิ่มเฉพาะโค้ดที่จำเป็นสำหรับเมธอด "SetTutorial" และ "GetTutorial" เท่านั้น และไม่มีการเพิ่มโค้ดส่วนอื่นใด
- นอกจากนี้ยังช่วยให้มั่นใจได้ว่าอินเทอร์เฟซจะทำงานเหมือนกับคอนโทรลtracที ชั้น ต้องปฏิบัติตามข้อตกลงtract. ดังนั้นถ้า contracถ้าบอกว่าควรมีสองเมธอดชื่อ “SetTutorial” และ “GetTutorial” ก็ควรจะเป็นแบบนั้น
สรุป
- อินเทอร์เฟซกำหนดคอนtracซึ่งคลาสจะต้องปฏิบัติตาม อินเทอร์เฟซจะกำหนดว่าคลาสสามารถดำเนินการใดได้บ้าง

