Perbezaan Antara Kelas Abstrak dan Antara Muka di Jawa

Abstrak Kelas vs Antara Muka di Jawa

Untuk memahami perbezaan antara kelas abstrak dan antara muka di Jawa, adalah penting untuk, pertama sekali, memahami masing-masing secara berasingan. Kelas abstrak di Jawa digunakan dalam deklarasi subkelas dengan satu set ciri umum. Penggunaan umum kelas abstrak adalah kelas super kelas lain yang, pada dasarnya, membolehkannya untuk melanjutkan kelas abstrak. Kata kunci abstrak digunakan dalam pengisytiharan kelas abstrak. Sama seperti mana-mana kelas lain, kelas abstrak mempunyai bidang yang menerangkan kaedah dan ciri yang boleh dilakukan oleh kelas. Dengan perisytiharan semata-mata kelas abstrak, kelas tidak boleh dimulakan

Antara muka Java boleh disamakan dengan protokol. Ia mewakili tingkah laku yang dipratetap dan dipersetujui yang membolehkan fasilitasi interaksi objek yang tidak berkaitan. Bergantung pada pengguna, antara muka memegang kunci kepada pelbagai tindakan yang sedang dilaksanakan. Oleh itu, antara muka berfungsi sebagai penghubung antara pengeluar dan pengguna. Antara muka di Jawa ialah, sekumpulan kumpulan kaedah yang mengandungi badan kosong yang mungkin mempunyai pernyataan yang tetap. Dalam mendedahkan kelas kepada antara muka Java, ini bermakna bahawa kelakuan yang diharapkan dari kelas adalah pelaksanaan semua kaedah antara muka.


Perbezaan

Pertama, kelas abstrak membenarkan bidang yang tidak statik atau akhir berbanding dengan medan statik dan akhir yang digunakan dalam antara muka. Antara muka tidak boleh mempunyai sebarang kod pelaksanaan yang digunakan di dalamnya, dan mungkin terdapat kod pelaksanaan yang digunakan dalam kelas abstrak. Kod Pelaksanaan yang dilancarkan dalam kelas abstrak boleh mempunyai beberapa atau semua kaedah yang dilaksanakan. Secara lalai, semua kaedah antara muka adalah "abstrak."

Kebolehlihatan juga mungkin untuk kaedah atau ahli kelas abstrak yang boleh berbeza-beza seperti orang awam, dilindungi, peribadi, atau tidak. Penglihatan antara muka, sebaliknya, hanya boleh dipratetap kepada satu mod penglihatan yang "awam."

Kelas abstrak secara automatik akan mewarisi kelas objek. Ini, pada dasarnya, bermakna kaedah seperti klon () dan sama () dimasukkan. Dalam antara muka, tiada warisan kelas objek boleh dilakukan. Berikutan itu, kelas abstrak mempunyai keupayaan untuk mempunyai pembina, tetapi antara muka tidak boleh mempunyai satu.

Antara muka di Java juga mempunyai fungsi yang sangat penting dengan pelaksanaan pelbagai warisan kerana kelas hanya boleh mempunyai satu kelas super. Walaupun hanya satu kelas super boleh hadir, ia boleh dilaksanakan dalam apa jua bilangan antara muka. Tidak mungkin mempunyai banyak warisan dalam kelas abstrak.

Dalam prestasi, antaramuka cenderung perlahan dalam pelaksanaan berbanding dengan kelas abstrak terutama disebabkan oleh arah tambahan mencari kaedah yang sepadan dalam kelas. Perbezaannya, bagaimanapun, telah menjadi lebih perlahan kerana mesin maya Java moden yang terus ditingkatkan.

Menambah kaedah dalam antara muka memerlukan anda menjejaki semua kelas pelaksana yang melaksanakan antara muka tertentu. Sebagai alternatif, anda boleh memperluas antara muka untuk membolehkan ia mempunyai kaedah tambahan. Jika anda menghadapi kelas abstrak, semua yang diperlukan adalah untuk menambah pelaksanaan lalai kaedah dan kod terus berfungsi. Oleh kerana perbezaan wujud di antara kelas dan antara muka abstrak, penting untuk diperhatikan bahawa mereka bukan pesaing, tetapi perbezaan yang disebutkan di sini berfungsi untuk melengkapi satu sama lain.  

Ringkasan

  1. Medan kelas abstrak tidak statik atau muktamad berbanding dengan antara muka yang mempunyai jadual statik dan akhir.

  2. Tiada kod pelaksanaan boleh digunakan dalam antara muka sementara ia boleh digunakan dalam kelas abstrak.

  3. Penglihatan antara muka hanya boleh menjadi awam manakala penglihatan kelas abstrak boleh berbeza-beza.

  4. Kelas abstrak secara automatik akan mewarisi kelas objek, tetapi tidak mungkin di antara muka.

  5. Kelas abstrak lebih cepat daripada antara muka dalam pelaksanaan.