Interface pada bahasa pemrograman C#

Interface pada bahasa pemrograman C# | IDCSharp.com
Interface pada bahasa pemrograman C# | IDCSharp

[sc name=”daftarisic”]

Interface merupakan beberapa fungsi yang di kelompokan yang dapat di implementasikan oleh suatu Class atau Struct.

Dengan adanya interface ini dapat menanggulangi limitation pada bahasa pemrograman C#, kita ketahui bahwa bahasa pemrograman mempunyai kekurangan yaitu, tidak mendukung banyak pewarisan ( inheritance ) Class.

Interface akan berperan penting disini, dengan menggunakan interface, kamu dapat mensimulasikan pewarisan ( inheritance ) untuk Struct atau Class, karena mereka tidak dapat mewarisi dari Struct atau Class lain.

Deklarasi Interface pada bahasa pemrograman C#, harus menggunakan keyword Interface.

public interface IContohAja{
   // member dari interface
   void ContohMethod();
  }

Class yang di deklarasikan sebagai interface biasanya dimulai dengan huruf I pada deklarasi namanya.

Definisi dari IContohAja, tidak menyediakan implementasi dari method ContohMethod. Jadi dapat dikatakan interface mirip dengan Abstract pada bahasa pemrograman c#.

Semua member dari interface secara default juga bersifat abstract, jadi tidak perlu menggunakan keyword abstract lagi untuk mendeklarasikannya.

Baca Juga: Namespace pada C#

Selain itu, semua member dari interface juga bersifat public, jadi tidak perlu menerapkan access modifier pada member interface.

Suatu Class atau Struct dapat mengimplementasikan lebih dari satu interface, akan tetapi suatu Class hanya dapat mewarisi Satu Class lain, Abstract atau tidak.

Oleh karena itu, dengan menggunakan interface, kamu dapat menyertakan behavior dari banyak sumber dari Class.

Saat Class di buat interface, Class tersebut harus mengimplementasikan semua methodnya.

public interface IShape {
  void Draw();
}
class Circle : IShape {
  public void Draw() {
    Console.WriteLine("Circle Draw");
  }
}
static void Main(string[] args) {
  IShape c = new Circle();
  c.Draw();
  //Outputs "Circle Draw"
}

Perlu di ingat bahwa, keyword override tidak diperlukan apabila kamu menggunakan interface.

Contoh Penggunaan Interface pada program :

using System;//source code : tutorialspoint

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 = " ";
      }
      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());
      }
   }
   public class Tester {
     
      public 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.ReadLine();
      }
   }
}

Interface pada bahasa pemrograman C#, dapat berisi method, Property, event, indexer ataupun gabungan dari 4 member tadi, akan tetapi Interface, tidak dapat berisi Constant, field, operator, instance constructor, finalizers, ataupun tipe data.

Bagaimana menurutmu, apakah kamu sudah memahaminya ?, Ceritakan di kolom komentar ya