Antaramuka vs Kelas Abstrak di Jawa: Apa Perbezaannya?

Isi kandungan:

Anonim

Apa itu antara muka?

Antaramuka adalah cetak biru yang boleh digunakan untuk melaksanakan kelas. Antaramuka tidak mengandungi kaedah konkrit (kaedah yang mempunyai kod). Semua kaedah antara muka adalah kaedah abstrak.

Antaramuka tidak dapat dibuat. Walau bagaimanapun, kelas yang melaksanakan antara muka dapat dijadikan contoh. Antaramuka tidak pernah mengandungi pemboleh ubah contoh tetapi, ia boleh mengandungi pemboleh ubah akhir statik awam (iaitu, pemboleh ubah kelas tetap)

Apa itu Kelas Abstrak?

Kelas yang mempunyai kata kunci abstrak dalam deklarasinya disebut kelas abstrak. Kelas abstrak harus mempunyai sekurang-kurangnya satu kaedah abstrak. , iaitu kaedah tanpa badan. Ia boleh mempunyai pelbagai kaedah konkrit.

Kelas abstrak membolehkan anda membuat cetak biru untuk kelas konkrit. Tetapi kelas mewarisi harus menerapkan kaedah abstrak.

Kelas abstrak tidak dapat dibuat.

Sebab-sebab Penting Untuk Menggunakan Antara Muka

  • Antara muka digunakan untuk mencapai pengabstrakan.
  • Direka untuk menyokong resolusi kaedah dinamik pada masa berjalan
  • Ini membantu anda mencapai gandingan yang longgar.
  • Membolehkan anda memisahkan definisi kaedah dari hierarki warisan

Sebab Penting Untuk Menggunakan Kelas Abstrak

  • Kelas abstrak menawarkan fungsi lalai untuk subkelas.
  • Menyediakan templat untuk kelas khusus masa depan
  • Membantu anda untuk menentukan antara muka umum untuk subkelasnya
  • Kelas abstrak membolehkan penggunaan semula kod.

Antara muka Vs. Kelas Abstrak

Kelas abstrak membolehkan anda membuat fungsi yang boleh dilaksanakan atau diganti oleh subkelas sedangkan antara muka hanya membenarkan anda menyatakan fungsi tetapi tidak melaksanakannya. Kelas hanya boleh meluaskan satu kelas abstrak sementara kelas dapat melaksanakan pelbagai antara muka.

Parameter Antara muka Kelas abstrak
Kepantasan Perlahan Cepat
Warisan Pelbagai Laksanakan beberapa Antaramuka Hanya satu kelas abstrak
Struktur Kaedah abstrak Kaedah abstrak & konkrit
Bila hendak digunakan Peningkatan masa depan Untuk mengelakkan kemerdekaan
Warisan / Pelaksanaan Kelas dapat melaksanakan pelbagai antara muka Kelas boleh mewarisi satu Kelas Abstrak sahaja
Pelaksanaan Lalai Semasa menambahkan bahan baru ke antara muka, adalah mimpi buruk untuk mencari semua pelaksana dan melaksanakan perkara yang baru ditentukan. Sekiranya Kelas Abstrak, anda boleh memanfaatkan pelaksanaan lalai.
Pengubah Akses Antara muka tidak mempunyai pengubah akses. Semua yang ditentukan dalam antara muka dianggap sebagai pengubah umum. Abstrak Kelas boleh mempunyai pengubah akses.
Bila hendak digunakan Lebih baik menggunakan antara muka apabila pelbagai implementasi hanya berkongsi tandatangan kaedah. Hierarki polimorfik jenis nilai. Ia harus digunakan apabila pelbagai pelaksanaan yang sama mempunyai tingkah laku yang sama.
Medan data antara muka tidak boleh mengandungi medan data. kelas boleh mempunyai medan data.
Lalai Warisan Pelbagai Kelas boleh melaksanakan banyak antara muka. Satu kelas hanya mewarisi satu kelas abstrak.
Pelaksanaan Antaramuka abstrak sehingga tidak dapat memberikan kod apa pun. Kelas abstrak dapat memberikan kod lalai yang lengkap yang harus diganti.
Penggunaan pengubah Akses Anda tidak boleh menggunakan pengubah akses untuk kaedah, sifat, dll. Anda boleh menggunakan kelas abstrak yang mengandungi pengubah akses.
Penggunaan Antaramuka membantu menentukan kemampuan persisian kelas. Kelas abstrak menentukan identiti kelas.
Medan yang ditentukan Tiada bidang yang dapat ditentukan Kelas abstrak membolehkan anda menentukan medan dan pemalar
Warisan Antaramuka boleh mewarisi pelbagai antara muka tetapi tidak dapat mewarisi kelas. Kelas abstrak boleh mewarisi kelas dan pelbagai antara muka.
Pembina atau pemusnah Antaramuka tidak dapat menyatakan pembina atau pemusnah. Kelas abstrak dapat menyatakan pembina dan pemusnah.
Had Sambungan Ia dapat meluaskan sebilangan antara muka. Ia hanya dapat meluaskan satu kelas atau satu kelas abstrak pada satu masa.
Kata kunci abstrak Dalam kata kunci antara muka abstrak, adalah pilihan untuk menyatakan kaedah sebagai abstrak. Dalam kelas abstrak, kata kunci abstrak adalah wajib untuk menyatakan kaedah sebagai abstrak.
Jenis kelas Antara muka hanya boleh menggunakan kaedah abstrak awam. Kelas abstrak mempunyai kaedah abstrak dan umum.

Contoh kod untuk Kelas Antara Muka dan Abstrak di Jawa

Berikut adalah contoh kod untuk membuat antara muka dan kelas abstrak di Java

Sintaks Antara Muka

interface name{//methods}

Contoh Antaramuka Java:

interface Pet {public void test();}class Dog implements Pet {public void test() {System.out.println("Interface Method Implemented");}public static void main(String args[]) {Pet p = new Dog();p.test();}}

Sintaks Kelas Abstrak

abstract class name{// code}

Contoh kelas abstrak:

abstract class Shape {int b = 20;abstract public void calculateArea();}public class Rectangle extends Shape {public static void main(String args[]) {Rectangle obj = new Rectangle();obj.b = 200;obj.calculateArea();}public void calculateArea() {System.out.println("Area is " + (obj.b * obj.b));}}