Interface dan Abstract Class, Apa perbedaannya?

Interface dan Abstract Class, Apa perbedaannya?
Interface dan Abstract Class, Apa perbedaannya?

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.

Mungkin Anda juga menyukai