C # - Arayüzler

Arayüz, arayüzü miras alan tüm sınıfların izlemesi gereken sözdizimsel bir sözleşme olarak tanımlanır. Arayüz,'what' sözdizimsel sözleşmenin bir kısmı ve türetilen sınıflar, 'how' sözdizimsel sözleşmenin bir parçası.

Arayüzler, arayüzün üyeleri olan özellikleri, yöntemleri ve olayları tanımlar. Arayüzler sadece üyelerin beyanını içerir. Üyeleri tanımlamak türetilen sınıfın sorumluluğundadır. Genellikle türetilen sınıfların izleyeceği standart bir yapı sağlamaya yardımcı olur.

Soyut sınıflar bir dereceye kadar aynı amaca hizmet eder, ancak bunlar çoğunlukla temel sınıf tarafından yalnızca birkaç yöntem bildirildiğinde ve türetilen sınıf işlevsellikleri uyguladığında kullanılır.

Arayüzleri Bildirme

Arayüzler, interface anahtar sözcüğü kullanılarak bildirilir. Sınıf bildirimine benzer. Arayüz ifadeleri varsayılan olarak geneldir. Aşağıda bir arayüz bildirimi örneği verilmiştir -

public interface ITransactions {
   // interface members
   void showTransaction();
   double getAmount();
}

Misal

Aşağıdaki örnek, yukarıdaki arayüzün uygulanmasını gösterir -

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;

namespace InterfaceApplication {
   
   public interface ITransactions {
      // interface members
      void showTransaction();
      double getAmount();
   }
   public class Transaction : ITransactions {
      private string tCode;
      private string date;
      private double amount;
      
      public Transaction() {
         tCode = " ";
         date = " ";
         amount = 0.0;
      }
      public Transaction(string c, string d, double a) {
         tCode = c;
         date = d;
         amount = a;
      }
      public double getAmount() {
         return amount;
      }
      public void showTransaction() {
         Console.WriteLine("Transaction: {0}", tCode);
         Console.WriteLine("Date: {0}", date);
         Console.WriteLine("Amount: {0}", getAmount());
      }
   }
   class Tester {
     
      static void Main(string[] args) {
         Transaction t1 = new Transaction("001", "8/10/2012", 78900.00);
         Transaction t2 = new Transaction("002", "9/10/2012", 451900.00);
         
         t1.showTransaction();
         t2.showTransaction();
         Console.ReadKey();
      }
   }
}

Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -

Transaction: 001
Date: 8/10/2012
Amount: 78900
Transaction: 002
Date: 9/10/2012
Amount: 451900