Direkomendasikan, 2024

Pilihan Editor

Perbedaan Antara Kelas dan Antarmuka di Jawa

Kelas dan Antarmuka keduanya digunakan untuk membuat tipe referensi baru. Kelas adalah kumpulan bidang dan metode yang beroperasi di bidang. Antarmuka memiliki metode yang sepenuhnya abstrak yaitu metode tanpa siapa pun. Antarmuka secara sintaksis mirip dengan kelas tetapi ada perbedaan besar antara kelas dan antarmuka yang kelasnya bisa dipakai, tetapi antarmuka tidak pernah bisa dipakai. Jadi mari kita belajar lebih banyak perbedaan antara kelas dan antarmuka dengan bantuan grafik perbandingan yang ditunjukkan di bawah ini.

Grafik perbandingan

Dasar untuk PerbandinganKelasAntarmuka
DasarKelas dipakai untuk membuat objek.Antarmuka tidak pernah dapat dipakai sebagai metode tidak dapat melakukan tindakan pada pemanggilan.
Kata kuncikelasantarmuka
Akses specifierAnggota kelas dapat bersifat pribadi, umum atau terlindungi.Anggota antarmuka selalu bersifat publik.
MetodeMetode kelas didefinisikan untuk melakukan tindakan tertentu.Metode-metode dalam suatu antarmuka murni abstrak.
Terapkan / PerpanjangKelas dapat mengimplementasikan sejumlah antarmuka dan hanya dapat memperluas satu kelas.Antarmuka dapat memperluas beberapa antarmuka tetapi tidak dapat mengimplementasikan antarmuka apa pun.
KonstruktorKelas dapat memiliki konstruktor untuk menginisialisasi variabel.Antarmuka tidak pernah dapat memiliki konstruktor karena hampir tidak ada variabel untuk diinisialisasi.

Definisi Kelas

Kelas adalah aspek terpenting dari pemrograman Java tanpa kelas, Anda tidak dapat mengimplementasikan program java. Kelas menciptakan tipe referensi dan tipe referensi ini digunakan untuk membuat objek. Kelas memiliki tanda tangan dan tubuh. Tanda tangan suatu kelas memiliki nama dan informasi kelas yang memberi tahu apakah kelas tersebut mewarisi kelas lain. Tubuh kelas memiliki bidang dan metode yang beroperasi di bidang tersebut. Kelas dibuat menggunakan kelas kata kunci. Mari kita lihat bagaimana mendeklarasikan sebuah kelas.

 class class_name {/ * bidang ... metode * /} 

Ketika sebuah kelas dipakai setiap objek yang dibuat berisi salinan bidang dan metode dengan mereka. Bidang dan anggota yang dideklarasikan di dalam kelas bisa statis atau tidak statis. Nilai anggota statis adalah konstan untuk setiap objek sedangkan, anggota non-statis diinisialisasi oleh masing-masing objek berbeda sesuai dengan kebutuhannya.

Anggota kelas memiliki penentu akses yang menentukan visibilitas dan aksesibilitas anggota kepada pengguna atau ke subclass. Penentu akses bersifat publik, pribadi, dan terlindungi. Kelas dapat diwarisi oleh kelas lain menggunakan penentu akses yang akan menentukan visibilitas anggota superclass (kelas yang diwarisi) di dalam subclass (kelas yang diwariskan). Dengan demikian kelas memenuhi konsep menyembunyikan data dan enkapsulasi dalam pemrograman berorientasi objek.

Definisi Antarmuka

Antarmuka juga di antara jenis referensi yang ditentukan di Jawa. Pentingnya antarmuka adalah bahwa di Jawa, suatu kelas hanya dapat mewarisi satu kelas. Untuk menghindari pembatasan ini, para desainer Jawa memperkenalkan konsep antarmuka. Antarmuka secara sintaksis mirip dengan kelas, tetapi kurang dalam deklarasi lapangan dan metode di dalam antarmuka tidak memiliki implementasi apa pun. Antarmuka dinyatakan menggunakan antarmuka kata kunci. Mari kita lihat deklarasi antarmuka.

 interface interface_name {type var_name = value; type method1 (daftar parameter); type method2 (daftar parameter); . . } 

Antarmuka tidak mendefinisikan metode apa pun yang dinyatakan di dalamnya karena tidak memiliki bidang untuk beroperasi. Hanya karena metode apa pun di dalam antarmuka tidak melakukan tindakan apa pun, antarmuka tidak akan pernah bisa dipakai. Jika suatu antarmuka memiliki anggota bidang, itu harus diinisialisasi pada saat deklarasi mereka. Antarmuka tidak pernah berisi konstruktor karena tidak ada anggota lapangan untuk diinisialisasi. Jadi, antarmuka hanya mendefinisikan apa yang harus dilakukan kelas daripada bagaimana harus dilakukan.

Antarmuka yang pernah dibuat dapat diimplementasikan oleh sejumlah kelas menggunakan implementasi kata kunci. Tetapi kelas yang mengimplementasikan antarmuka harus mendefinisikan semua metode di dalam antarmuka. Antarmuka juga dapat mewarisi antarmuka lain menggunakan kata kunci extended . Jika suatu kelas mengimplementasikan antarmuka yang memperluas antarmuka lain. Kemudian suatu kelas harus mendefinisikan metode dari kedua antarmuka yang muncul dalam suatu rantai. Metode di dalam suatu antarmuka harus selalu bersifat publik karena harus diakses oleh kelas yang mengimplementasikannya.

Perbedaan Utama Antara Kelas dan Antarmuka di Jawa

  1. Kelas dapat dipakai dengan membuat objeknya. Antarmuka tidak pernah dipakai sebagai metode yang dinyatakan dalam antarmuka adalah abstrak dan tidak melakukan tindakan apa pun, jadi tidak ada gunanya instantiasi antarmuka apa pun.
  2. Kelas dinyatakan menggunakan kelas kata kunci. Dengan cara yang sama, antarmuka dibuat menggunakan antarmuka kata kunci.
  3. Anggota kelas dapat memiliki penentu akses seperti publik, pribadi, dilindungi. Tetapi anggota antarmuka selalu publik karena mereka harus diakses oleh kelas yang mengimplementasikannya.
  4. Metode di dalam kelas didefinisikan untuk melakukan tindakan pada bidang yang dideklarasikan di kelas. Karena antarmuka tidak memiliki deklarasi bidang, metode di dalam antarmuka murni abstrak.
  5. Kelas dapat mengimplementasikan sejumlah antarmuka tetapi hanya dapat memperluas satu kelas super. Antarmuka dapat memperluas sejumlah antarmuka tetapi tidak dapat mengimplementasikan antarmuka apa pun.
  6. Kelas memiliki konstruktor yang ditentukan di dalamnya untuk mendapatkan variabel diinisialisasi. Tapi, sebuah antarmuka tidak memiliki konstruktor karena tidak ada bidang yang diinisialisasi. Bidang antarmuka diinisialisasi pada saat deklarasi saja.

Kesimpulan:

Baik kelas dan antarmuka memiliki kepentingannya sendiri. Kelas digunakan ketika kita perlu mendefinisikan bagaimana tugas akan dilakukan. Antarmuka digunakan ketika kita perlu tahu tugas apa yang harus dilakukan.

Top