
Apakah kamu menggunakan perangkat Mobile?, Yuk lihat daftar isi materi C# di IDCsharp.com
Interface dan Abstract Class apasih bedanya ? Mari kita pelajari terlebih dahulu pengertian Abstract dan juga Interface:
Interface
Interface merupakan beberapa fungsi yang di kelompokan yang dapat di implementasikan oleh suatu Class atau Struct.
Kamu dapat mempelajari Interface secara lengkap dengan mengunjungi halaman berikut:
Materi Interface: Interface pada Bahasa Pemrograman C#
Abstract Class
Abstract Class merupakan class yang mengandung method abstrak, Abstract Class biasa digunakan untuk membuat sebuah method tanpa ada implementasinya secara langsung.
Kamu dapat mempelajari Interface secara lengkap dengan mengunjungi halaman berikut:
Materi Abstract: Abstract Class pada Bahasa Pemrograman C#
Perbedaan Antara Interface dengan Abstract Class
Berikut adalah daftar perbedaan antara Abstract Class dengan Interface:
Interface
- Interface tidak dapat memiliki access specifier untuk fungsinya karena secara default bersifat public.
- Hanya dapat berisi signature, dan tidak dapat berisi implementasinya.
- Kecepatan proses relative lebih lambat.
- Tidak dapat berisi field.
- Interface hanya bisa menampung method abstract.
Abstract Class
- Abstract dapat memiliki access specifier.
- Dapat berisi implementasi secara lengkap.
- Kecepatan proses relative lebih cepat.
- Dapat berisi field dan konstanta.
- Dapat menampung method non-abstract.
Contoh Code Interface dan Abstract
Untuk lebih mendalaminya , perhatikan kode dibawah ini:
Abstract Class
using System; public abstract class idcsharp { //deklarasi abstract class idcsharp public abstract void idcs1(); //deklarasi abstract method idcs1 } public class idcsharp1 : idcsharp { public override void idcs1() { Console.WriteLine("Halo selamat datang di IDCSharp.com"); } } public class main_method { public static void Main() { idcsharp obj = new idcsharp1(); //deklarasi object obj.idcs1(); } }
Interface
using System; interface interface1 { void show(); } class IDcsharp : interface1 { public void show() { Console.WriteLine("Hallo selamat datang di IDCSharp.com"); } public static void Main(String[] args) { IDcsharp obj1 = new IDcsharp(); obj1.show(); } }
Dalam contoh di atas, interface dan abstrak class terdapat perbedaan dalam implementasinya.
Bagaimana apakah kamu sudah paham perbedaannya ?, ceritakan pengalamanmu di kolom komentar ya.