Menu Close

Perbedaan antara Kelas Abstrak dan Antarmuka Dalam C

Di C, kelas abstrak adalah kelas yang dideklarasikan tanpa fungsi anggota. Antarmuka, di sisi lain, adalah jenis kelas yang hanya berisi prototipe fungsi. Dalam posting blog ini, kami akan mengeksplorasi perbedaan antara kelas abstrak dan antarmuka di C. Kami juga akan melihat beberapa contoh untuk membantu Anda memahami konsep ini dengan lebih baik. Jadi, mari kita mulai!

Apa itu Kelas Abstrak Dalam C?

Kelas abstrak dalam C adalah kelas yang tidak dapat dibuat instance-nya dan bersifat Abstrak dalam arti mengandung setidaknya satu fungsi virtual murni. Kelas Abstrak berisi Tipe Data Abstrak (ADT). Ketika Kelas Abstrak diwarisi oleh Kelas Dasar, semua Fungsi Abstrak dari Kelas Abstrak menjadi fungsi virtual di Kelas Dasar. Semua Fungsi Abstrak dari Kelas Abstrak harus ditimpa oleh kelas turunan jika tidak, program tidak akan dapat dikompilasi. Kompiler akan memberikan kesalahan jika ada Fungsi Abstrak yang tidak ditimpa oleh kelas turunan. Oleh karena itu, Semua Fungsi Abstrak dari Kelas Abstrak menjadi fungsi virtual murni di Kelas Turunan dan Kelas Turunan menjadi Kelas Abstrak.

Apa itu Antarmuka Dalam C?

Interface In C adalah kata kunci yang digunakan untuk mendeklarasikan sebuah Interface. Antarmuka Dalam C dapat berisi metode abstrak serta variabel akhir. Antarmuka Dalam C dibuat untuk abstraksi.

  • Antarmuka Dalam C juga berisi metode statis yang diwarisi oleh kelas yang mengimplementasikannya. Antarmuka Dalam C harus diimplementasikan oleh kelas atau yang lain akan memberikan kesalahan.
  • Antarmuka Dalam variabel C secara default adalah final dan statis. Antarmuka Dalam metode C juga secara default abstrak dan publik. Antarmuka Dalam C hanya berisi metode abstrak, implementasi metode tersebut disediakan oleh kelas yang mengimplementasikannya.
  • Interface di c dideklarasikan menggunakan kata kunci interface . Membuat antarmuka mirip dengan membuat kelas, tetapi ada beberapa perbedaan dalam sintaksnya. Seperti kelas, antarmuka dapat memiliki metode dan variabel, tetapi semuanya bersifat publik dan final secara default.
  • Antarmuka menentukan apa yang harus dilakukan kelas dan bukan bagaimana melakukannya. Kelas mengimplementasikan antarmuka dengan menyediakan kode untuk setiap metode yang ditentukan oleh antarmuka, sehingga mewarisi perilakunya dari antarmuka tersebut.

Ini lebih seperti perjanjian antara Antarmuka dan Kelas yang menyatakan bahwa saya (Kelas) akan menyediakan fungsionalitas untuk semua yang Anda (Antarmuka) nyatakan di dalam tubuh Anda. (akhir paragraf)

Perbedaan antara Kelas Abstrak dan Antarmuka Dalam C

  • Kelas abstrak dan Antarmuka Dalam C adalah dua konsep yang sangat penting dalam paradigma Pemrograman Berorientasi Objek. Kelas abstrak digunakan untuk menyediakan templat bagi kelas lain untuk diperluas, sedangkan antarmuka digunakan untuk menentukan perilaku kelas. Kelas abstrak dapat berisi metode abstrak dan konkret, sedangkan antarmuka hanya dapat berisi metode abstrak.
  • Kelas abstrak dapat memiliki bidang, sedangkan antarmuka tidak bisa. Terakhir, kelas abstrak dapat diperluas oleh kelas lain, sedangkan antarmuka dapat diimplementasikan oleh kelas lain.
  • Akibatnya, Kelas Abstrak dan Antarmuka Dalam C adalah dua konsep yang sangat penting yang membantu pemrogram untuk membuat program yang terstruktur dengan baik dan kuat. Terima kasih sudah membaca.

Kesimpulan

Kelas dan antarmuka abstrak adalah dua konsep berbeda yang akan sering Anda temui dalam karier pemrograman Anda. Memahami perbedaan di antara mereka penting agar Anda dapat menggunakan alat yang tepat untuk pekerjaan itu. Di C, kelas abstrak digunakan untuk membuat antarmuka umum untuk sekelompok objek terkait. Antarmuka, di sisi lain, memungkinkan kelas yang tidak terkait untuk bekerja sama. Saat memutuskan mana yang akan digunakan, tanyakan pada diri sendiri apakah Anda memerlukan semua kelas di pohon warisan untuk menerapkan perilaku atau hanya beberapa saja. Jika semuanya perlu mengimplementasikannya, maka gunakan kelas abstrak. Jika hanya sedikit yang melakukannya, gunakan antarmuka.