Memahami Antarmuka C#: Definisi, Contoh, dan Penggunaan Praktis
Apa Itu Antarmuka C#?
Sebuah antarmuka dalam C# adalah perjanjian yang mendefinisikan serangkaian anggota—metode, properti, event, atau indexer—yang harus diimplementasikan oleh kelas atau struct. Ia menentukan apa tetapi bukan bagaimana, memungkinkan tipe berbeda untuk mengekspos serangkaian operasi yang sama sambil menyembunyikan detail implementasi.
Antarmuka mempromosikan coupling longgar, mengaktifkan polimorfisme, dan mendukung pewarisan tipe ganda, yang penting untuk menulis kode yang dapat diuji dan dipelihara.
Contoh Konkret
Di bawah ini adalah program konsol minimal yang menunjukkan cara mendeklarasikan, mengimplementasikan, dan menggunakan antarmuka.
using System; namespace DemoApplication { // 1. Deklarasikan perjanjian interface IGuru99Interface { void SetTutorial(int id, string name); string GetTutorial(); } // 2. Implementasikan perjanjian class Guru99Tutorial : IGuru99Interface { private int tutorialId; private string tutorialName; public void SetTutorial(int id, string name) { tutorialId = id; tutorialName = name; } public string GetTutorial() => tutorialName; static void Main(string[] args) { var tutor = new Guru99Tutorial(); tutor.SetTutorial(1, ".Net by Guru99"); Console.WriteLine(tutor.GetTutorial()); Console.ReadKey(); } } }
Poin Utama:
Antarmuka dideklarasikan dengan kata kunci interface.
Mereka hanya berisi tanda tangan; implementasi disediakan oleh kelas.
Kelas yang mengimplementasikan antarmuka harus mendefinisikan semua anggotanya, memastikan kepatuhan terhadap perjanjian.
Menggunakan Antarmuka?
Abstraksi – Pisahkan “apa” dari “bagaimana.”
Polimorfisme – Perlakukan implementasi berbeda secara seragam.
Dapat diuji – Ganti implementasi asli dengan mock atau stub dalam pengujian unit.
Ringkasan
Antarmuka menentukan operasi yang harus didukung oleh tipe. Dengan mengimplementasikan antarmuka, sebuah kelas menjamin kepatuhan terhadap perjanjian tersebut, memfasilitasi arsitektur yang bersih dan desain yang dapat diskalakan.