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" ก็ควรจะเป็นเช่นนั้น
สรุป
- อินเทอร์เฟซกำหนดสัญญาที่คลาสจะต้องปฏิบัติตาม อินเทอร์เฟซกำหนดว่าคลาสสามารถดำเนินการอะไรได้บ้าง