Relasi antara interface dengan class yang menjadi implemetasi dari interface tersebut.
“Programming to interface not to implemantation”, begitu kata para developer berpengalaman.
Programming to interface merupakan best practice yang patut diikuti dalam menulis program.
Interface memisahkan apa(what) dengan bagaimana(how) nantinya hal tersebut implementasikan.
Dengan menggunakan inteface, struktur kode kita menjadi loosely-coupled, karena
memungkinkan secara dinamis mengganti implementasi.
Perhatikan contoh berikut :
public interface IService
{
void Fly();
}
public class Plane : IService
{
public void Fly()
{
Console.WriteLine("Plane ready take off..");
}
}
public class Bird : IService
{
public void Fly()
{
Console.WriteLine("Bird fly on the sky");
}
}
IService plane=new Plane(); plane.Fly(); IService bird=new Bird(); bird.Fly();
Kedua class diatas mengimplementasikan interface IService yang memiliki deklarasi method
Fly(). Sebuah interface hanya berisi deklarasi method atau property yang nantinya baru
diimplementasikan di class yang menggunakan interface tersebut. Interface bisa dipandang
sebagai kontrak yang harus dipenuhi oleh class yang mengimplementasikan, jika method di
interface tersebut tidak ditulis akan muncul pesan error. Pemahaman dasar mengenai interface
sangat diperlukan, karena nantinya banyak dipakai dalam Design Pattern GoF (Gang of Four).
Oke, cukup dengan teorinya. Saya akan langsung saja tunjukkan bagaimana menggunakan semua
yang diteorikan tadi untuk merelasikan objek-objek yang mewakili tabel-tabel yang saling
berelasi. Berikut saya berikan contoh penerjemahan tabel Products ke class Product