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 คำอธิบาย:-

ที่นี่ เราจะอธิบายส่วนสำคัญของโค้ด

ตัวอย่างอินเทอร์เฟซ C#

  1. ขั้นแรก เราจะกำหนดอินเทอร์เฟซที่เรียกว่า “Guru99อินเทอร์เฟซ” โปรดสังเกตว่าคำหลัก “อินเทอร์เฟซ” ใช้เพื่อกำหนดอินเทอร์เฟซ
  2. ต่อไป เราจะกำหนดวิธีการที่จะใช้กับอินเทอร์เฟซของเรา ในกรณีนี้ เราจะกำหนดวิธีการเดียวกันกับที่ใช้ในตัวอย่างก่อนหน้านี้ทั้งหมด โปรดทราบว่าอินเทอร์เฟซจะประกาศวิธีการเท่านั้น ไม่ได้กำหนดโค้ดในวิธีการเหล่านั้น
  3. จากนั้นเราจึงสร้างของเรา Guruคลาส 99Tutorial สืบทอดมาจากอินเทอร์เฟซ ตรงนี้คือส่วนที่เราเขียนโค้ดเพื่อกำหนดเมธอดต่างๆ ที่ประกาศไว้ในอินเทอร์เฟซ การเขียนโค้ดแบบนี้จะทำให้ได้ผลลัพธ์ดังต่อไปนี้
    • สิ่งนี้ทำให้มั่นใจได้ว่าชั้นเรียนนั้น Guru99Tutorial จะเพิ่มเฉพาะโค้ดที่จำเป็นสำหรับเมธอด "SetTutorial" และ "GetTutorial" เท่านั้น และไม่มีการเพิ่มโค้ดส่วนอื่นใด
    • นอกจากนี้ยังช่วยให้มั่นใจได้ว่าอินเทอร์เฟซจะทำงานเหมือนกับคอนโทรลtracที ชั้น ต้องปฏิบัติตามข้อตกลงtract. ดังนั้นถ้า contracถ้าบอกว่าควรมีสองเมธอดชื่อ “SetTutorial” และ “GetTutorial” ก็ควรจะเป็นแบบนั้น

สรุป

  • อินเทอร์เฟซกำหนดคอนtracซึ่งคลาสจะต้องปฏิบัติตาม อินเทอร์เฟซจะกำหนดว่าคลาสสามารถดำเนินการใดได้บ้าง

สรุปโพสต์นี้ด้วย: