Örnekle C#'ta Arayüz Nedir?

C#'ta Arayüz Nedir?

An arayüzey C# dilinde bir sınıfla birlikte, sınıfın bir uygulamaya ne sağlayacağına dair bir anlaşma olan bir sözleşmeyi tanımlamak için kullanılır. Arayüz, bir sınıfın hangi işlemleri gerçekleştirebileceğini tanımlar. Bir arayüz, özellikleri ve yöntemleri bildirir. Yöntemin tam olarak ne yapacağını tanımlamak sınıfa kalmıştır.

Konsol uygulamamızda sınıfları değiştirerek bir arayüz örneğine bakalım. Bir arayüz kullanılarak çalıştırılabilecek hiçbir şey olmadığından kodu çalıştırmayacağımızı unutmayın.

C# Arayüzü Örneği

Bir arayüz sınıfı oluşturalım. Sınıfın adı “Guru99Interface” olacaktır. Ana sınıfımız daha sonra tanımlanan arayüzü genişletecektir. Kodun tamamının Program.cs dosyasına yazılması gerekir.

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

Kod Açıklaması:-

Burada kodun önemli bölümlerini açıklıyoruz

C# Arayüzü Örneği

  1. Öncelikle “Guru99Interface” adında bir arayüz tanımlıyoruz. Bir arayüzü tanımlamak için “arayüz” anahtar sözcüğünün kullanıldığını unutmayın.
  2. Sonra, arayüzümüz tarafından kullanılacak yöntemleri tanımlıyoruz. Bu durumda, önceki tüm örneklerde kullanılan aynı yöntemleri tanımlıyoruz. Bir arayüzün yalnızca yöntemleri bildirdiğini, içlerindeki kodu tanımlamadığını unutmayın.
  3. Daha sonra Guru99Tutorial sınıfımızı arayüzü genişletiriz. Burada arayüzde bildirilen çeşitli yöntemleri tanımlayan kodu yazarız. Bu tür kodlama aşağıdakileri başarır
    • Guru99Tutorial sınıfının yalnızca “SetTutorial” ve “GetTutorial” yöntemleri için gerekli olan kodu eklemesini ve başka hiçbir şey eklememesini sağlar.
    • Ayrıca arayüzün bir sözleşme gibi davranmasını sağlar. sınıf sözleşmeye uymak zorundadır. Yani sözleşmede “SetTutorial” ve “GetTutorial” adında iki metodun olması gerektiği söyleniyorsa o zaman öyle olması gerekir.

ÖZET

  • Arayüz, sınıfın uyacağı bir sözleşmeyi tanımlar. Arayüz, sınıfın gerçekleştirebileceği işlemlerin neler olduğunu tanımlar.