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();
  }
 }
}

คำอธิบายรหัส:-

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

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

  1. ก่อนอื่นเรากำหนดอินเทอร์เฟซที่เรียกว่า "Guru99Interface" โปรดทราบว่าคำหลัก "อินเทอร์เฟซ" ใช้เพื่อกำหนดอินเทอร์เฟซ
  2. ต่อไป เราจะกำหนดวิธีการที่จะใช้กับอินเทอร์เฟซของเรา ในกรณีนี้ เราจะกำหนดวิธีการเดียวกันกับที่ใช้ในตัวอย่างก่อนหน้านี้ทั้งหมด โปรดทราบว่าอินเทอร์เฟซจะประกาศวิธีการเท่านั้น ไม่ได้กำหนดโค้ดในวิธีการเหล่านั้น
  3. จากนั้นเราสร้างคลาส Guru99Tutorial เพื่อขยายอินเทอร์เฟซ นี่คือที่ที่เราเขียนโค้ดเพื่อกำหนดเมธอดต่างๆ ที่ประกาศไว้ในอินเทอร์เฟซ การเขียนโค้ดแบบนี้จะบรรลุผลดังต่อไปนี้
    • ช่วยให้มั่นใจได้ว่าคลาส Guru99Tutorial จะเพิ่มเฉพาะโค้ดที่จำเป็นสำหรับวิธีการ "SetTutorial" และ "GetTutorial" เท่านั้น และไม่มีอะไรอื่นอีก
    • นอกจากนี้ยังช่วยให้แน่ใจว่าอินเทอร์เฟซทำงานเหมือนสัญญา ที่ ชั้น จะต้องปฏิบัติตามสัญญา ดังนั้นหากสัญญาระบุว่าควรมีสองวิธีที่เรียกว่า "SetTutorial" และ "GetTutorial" ก็ควรจะเป็นเช่นนั้น

สรุป

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