Uncategorized

Perbedaan Antara Kelas Abstrak dan Antarmuka di C#

Perbedaan Antara Kelas Abstrak dan Antarmuka di C#

Salah satu pertanyaan yang paling umum dan sering ditanyakan di C# adalah “Apa perbedaan antara kelas Abstrak dan Antarmuka?”. Nah, pada artikel kali ini, saya akan membahas tentang class dan Interface Abstrak dengan contoh sederhana dan perbedaannya.
Kelas abstrak tanpa implementasi terlihat seperti antarmuka. Namun ada banyak perbedaan daripada persamaan.
Kelas abstrak dan antarmuka keduanya digunakan untuk mencapai abstraksi di mana kita dapat mendeklarasikan metode abstrak. Kelas abstrak dan antarmuka keduanya tidak dapat dibuat instance-nya.

Kelas Abstrak

Kelas abstrak adalah kelas yang dimaksudkan hanya untuk menjadi kelas dasar dari kelas lain. Pengubah ‘abstrak’ digunakan untuk membuat kelas menjadi abstrak. Pengubah abstrak menunjukkan bahwa ada beberapa implementasi yang hilang yang perlu diimplementasikan di kelas yang diturunkan darinya. Kelas abstrak dapat memiliki anggota abstrak dan non-abstrak. Kelas abstrak harus memiliki setidaknya satu metode abstrak, jika tidak, tidak ada gunanya mendeklarasikan kelas itu sebagai ‘abstrak.’

Contoh Kelas Abstrak di C#:

Perbedaan Antara Kelas Abstrak dan Antarmuka di C#

Seperti yang ditunjukkan pada contoh di atas, metode abstrak ‘Area’ di dalam kelas MyCircle diganti di kelas turunan MyArea.

Antarmuka

Antarmuka hanya berisi deklarasi anggota termasuk metode, properti, peristiwa, atau pengindeks. Itu tidak berisi implementasi dari anggota ini. Sebuah kelas atau struct mengimplementasikan antarmuka, harus memberikan definisi metode yang dideklarasikan dalam antarmuka. Itu berarti sebuah antarmuka menyediakan struktur standar yang harus diikuti oleh kelas turunan.

Contoh Antarmuka di C #:

Perbedaan Antara Kelas Abstrak dan Antarmuka di C#

Seperti yang ditunjukkan pada contoh di atas, antarmuka MyData memiliki dua deklarasi metode getdata () dan showdata (). Kelas NameData yang mengimplementasikan antarmuka ini harus memberikan definisi metode yang dideklarasikan di antarmuka MyData.

Perbedaan Antara Kelas Abstrak dan Antarmuka

1. Kelas abstrak dapat memiliki anggota abstrak maupun non-abstrak. Namun, dalam sebuah antarmuka, semua anggota abstrak secara implisit dan harus diganti dalam kelas turunan.
2. Sebuah kelas dapat mewarisi beberapa antarmuka tetapi hanya satu kelas abstrak.
3. Kelas abstrak dapat berisi metode dengan atau dengan definisi. Namun, sebuah antarmuka hanya dapat berisi tanda tangan metode.
4. Kelas abstrak dapat sepenuhnya, sebagian atau tidak diterapkan sama sekali, tetapi antarmuka harus diterapkan sepenuhnya, yaitu, semua anggota harus didefinisikan dalam kelas turunan.

5. Antarmuka tidak boleh berisi pengubah akses, tetapi kelas abstrak dapat memilikinya untuk fungsi, properti, atau acara.

Kesimpulan

Dalam C#, kelas Abstrak vs antarmuka C# telah digunakan untuk abstraksi data. Antarmuka lebih baik daripada kelas abstrak ketika beberapa kelas perlu mengimplementasikan antarmuka. Anggota antarmuka tidak boleh statis. Satu-satunya anggota lengkap dari kelas abstrak bisa statis.
C# tidak mendukung banyak warisan; antarmuka terutama digunakan untuk mengimplementasikan beberapa warisan. Sebagai kelas dapat mengimplementasikan lebih dari satu antarmuka dan hanya mewarisi dari satu kelas abstrak. Antarmuka terutama digunakan hanya jika kita tidak memerlukan implementasi metode atau fungsionalitas. Kelas abstrak digunakan ketika kita membutuhkan setidaknya implementasi default.
Kedua C# Interface vs Abstract Class adalah konsep pemrograman berorientasi objek yang hebat yang sangat digunakan dalam mengembangkan aplikasi sesuai kebutuhan. Itu murni dipilih oleh petunjuk teknis yang mereka lebih nyaman dan persyaratan bisnis. Keduanya mudah digunakan dan dipelajari dalam bahasa pemrograman apa pun. 

Related Articles

Back to top button

Adblock Detected

To Continue Video Access. Please open via Chrome browser