Wednesday 12 October 2016

20. Interface C# (Basic/Dasar)

Hello guys pada bab sebelumnya kita pernah membahas tentang polymorphism, nah kali ini kita akan membahas bab interface yang mirip dengan polymorphism yaitu interface. Berbeda dengan abstract method dan virtual method, pada interface lebih mengarah ke template dari class. Sehingga dalam interface hanya terdapat nama method dan nilai kembalian tanpa ada implementasi method, sedangkan yang bertanggung jawab untuk mengimplementasikan method adalah class yang mengimplementasikan interface tesebut.

Pada inteface, selain method juga mendefinisikan properties dan event yang dimiliki oleh interface tesebut. Yang perlu diingat adalah dalam interface hanya terdapat declarasi tidak ada yang namanya inisialisasi.

Mendeklarasikan Interface

Berikut adalah format untuk interface, hanya terdapat deklarasi method, properti dan event.

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

Contoh berikut akan mengilustrasikan penggunaan interface:

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

Setelah program dijalankan akan memberikan output sebagai berikut:

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

Ok guys sampai ketemu di tutorial sejalnjutnya Namaspaces.

No comments:

Post a Comment