Perbezaan antara warisan dan antara muka di Java

Perbezaan antara warisan dan antara muka di Java

Perbezaan utama - warisan vs antara muka di java
 

Java adalah bahasa pengaturcaraan yang dibangunkan oleh Sun Microsystems. Java boleh digunakan untuk membangunkan pelbagai aplikasi. Ia adalah bahasa multi-paradigma yang menyokong berorientasikan objek, berstruktur dll. Kelebihan utama Java ialah ia menyokong pengaturcaraan berorientasikan objek (OOP). Pengaturcara boleh membuat kelas dan objek. Terdapat empat tiang di oop. Mereka adalah warisan, polimorfisme, abstraksi dan enkapsulasi. Warisan dan antara muka berkaitan dengan OOP. The Perbezaan utama antara warisan dan antara muka adalah Warisan adalah untuk memperoleh kelas baru dari kelas sedia ada dan antara muka adalah untuk melaksanakan kelas abstrak dan pelbagai warisan.

Kandungan

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa itu warisan di java
3. Apa itu antara muka di Java
4. Persamaan antara warisan dan antara muka di Java
5. Perbandingan sampingan - Warisan vs antara muka dalam java dalam bentuk jadual
6. Ringkasan

Apa itu warisan di java?

Warisan dapat mencapai kebolehgunaan kod semula. Warisan membantu menggunakan semula atribut dan kaedah kelas yang ada. Mekanisme mendapatkan kelas baru menggunakan kelas lama dipanggil warisan. Kelas lama dikenali sebagai kelas induk atau kelas super. Kelas yang diperolehi dipanggil kelas kanak -kanak atau subkelas.

Sintaks warisan java adalah seperti berikut.

kelas subclass_name memanjangkan superclass_name

Perisytiharan Variabel;

pengisytiharan kaedah;

Konsep warisan dapat dijelaskan menggunakan contoh berikut. Menganggap bahawa ada kelas yang disebut seperti berikut.

Kelas Awam A

jumlah void awam ()

Sistem.keluar.println ("jumlah");

Sekiranya kita mahu menambah kaedah baru tanpa menukar kelas yang ada, kita boleh melakukannya seperti berikut.

kelas awam b

sub void public ()

Sistem.keluar.println ("sub");

Pengaturcara boleh menggunakan warisan untuk menggunakan jumlah kelas A ().

Kelas Awam B memanjangkan Kelas A

sub void public ()

Sistem.keluar.println ("sub");

Dalam fungsi utama, adalah mungkin untuk membuat objek B dan panggilan sub (), yang dimiliki oleh Kelas B dan Sum (), yang dimiliki oleh Kelas A menggunakan warisan.

public static void main (string [] args)

B obj = new b ();

obj.sub ();

obj.jumlah ();

Terdapat pelbagai jenis warisan. Mereka adalah warisan tunggal, warisan berganda, warisan pelbagai peringkat, dan warisan hierarki. Dalam warisan tunggal, Terdapat satu kelas asas dan satu kelas yang diperoleh. Dalam warisan pelbagai peringkat, Terdapat tiga kelas iaitu kelas asas, kelas pertengahan dan kelas yang diperoleh. Kelas pertengahan mewarisi dari kelas asas, dan kelas yang diperoleh dari kelas pertengahan. Dalam warisan hierarki, Terdapat satu kelas asas dan banyak kelas yang diperoleh. Terdapat jenis khas yang dikenali sebagai Warisan hibrid. Ia adalah gabungan dua atau lebih jenis warisan.

Rajah 01: Warisan

Dalam Warisan berganda Terdapat banyak kelas asas dan satu kelas yang diperoleh. Menganggap bahawa kelas A dan B adalah kelas asas. Kelas C adalah kelas yang diperoleh. Jika kedua -dua kelas A dan B mempunyai kaedah yang sama dan pengaturcara memanggil kaedah itu dari kelas yang diperolehi, ia akan menyebabkan masalah kekaburan. Mewarisi dua kelas boleh menyebabkan kesilapan masa kompilasi. Oleh itu, pelbagai warisan tidak disokong di Java.  Antara muka boleh digunakan untuk mengatasi masalah itu.

Apa itu antara muka di Java?

Abstraksi adalah proses menyembunyikan butiran pelaksanaan dan hanya memaparkan fungsi kepada pengguna. Abstraksi dapat dicapai menggunakan kelas abstrak atau antara muka. Kaedah abstrak adalah kaedah tanpa pelaksanaan. Kelas dengan sekurang -kurangnya satu kaedah abstrak adalah kelas abstrak. Contoh kelas abstrak adalah seperti berikut.

Kelas Abstrak A

Abstrak void sum ();

Anggapkan bahawa terdapat dua kelas abstrak sebagai A dan B. Untuk melaksanakan kaedah abstrak A dan B, kelas baru C dibuat. Kemudian Kelas C harus memanjangkan kedua -dua A dan B., Tetapi pelbagai warisan tidak disokong di Java. Oleh itu, harus menggunakan antara muka. Antara muka boleh digunakan untuk mengisytiharkan kaedah, tetapi tidak mungkin untuk menentukan kaedah. Tidak mungkin untuk membuat objek menggunakan antara muka. Kelas C harus melaksanakan semua kaedah dalam antara muka A dan B.

antara muka

void sum ();

antara muka b

void sub ();

Kelas C melaksanakan A, B

jumlah void awam ()

Sistem.keluar.println ("penjumlahan");

sub void public ()

Sistem.keluar.println ("penolakan");

Sekarang, dalam program utama adalah mungkin untuk membuat objek C dan memanggil kedua -dua kaedah.

public static void main (string [] args)

C obj = new c ();

obj.jumlah ();

obj.sub ();

Oleh itu, antara muka boleh digunakan untuk melaksanakan pelbagai warisan.

Penggunaan antara muka yang lain adalah bahawa ia menyediakan keselamatan. Rujuk kod di bawah.

antara muka

void sum ();

Kelas B mengimplementasikan

jumlah void awam ()

Sistem.keluar.println ("penjumlahan");

public void Multiply ()

Sistem.keluar.println ("pendaraban");

Apabila membuat objek B, ada kemungkinan untuk memanggil kedua -dua kaedah jumlah () dan membiak (). Sekiranya pengaturcara ingin menyekat menggunakan fungsi Multiply (), ia mungkin seperti berikut.

public static void main (string [] args)

A obj = new b ();

obj.jumlah ();

A obj = new b (); akan membuat objek. Ia adalah jenis A dan memori diperuntukkan sebagai b. Adalah mungkin untuk memanggil jumlah () tetapi tidak dapat melaksanakan Multiply (). Sekatan ini dilakukan dengan menggunakan antara muka.

Apakah persamaan antara warisan dan antara muka di Java?

  • Kedua-dua konsep berkaitan dengan pengaturcaraan berorientasikan objek
  • Kedua-duanya mewakili hubungan.

Apakah perbezaan antara warisan dan antara muka di Java?

Warisan vs antara muka di Java

Warisan adalah konsep OOP untuk memperoleh kelas baru dari kelas yang ada. Antara muka adalah mekanisme di OOP untuk melaksanakan abstraksi dan pelbagai warisan.
Penggunaan
Warisan menyediakan kebolehgunaan semula kod. Antara muka memberikan abstraksi dan pelbagai warisan.

Ringkasan -Warisan vs antara muka di java

Java adalah bahasa pengaturcaraan multi-paradigma yang menyokong pengaturcaraan berorientasikan objek. Warisan dan antara muka berkaitan dengan pengaturcaraan berorientasikan objek. Perbezaan antara warisan dan antara muka adalah bahawa warisan adalah untuk memperoleh kelas baru dari kelas dan antara muka yang ada adalah untuk melaksanakan kelas abstrak dan pelbagai warisan.

Muat turun versi PDF Warisan vs Interface di Java

Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian mengikut nota petikan. Sila muat turun versi pdf di sini perbezaan antara warisan dan antara muka di java

Rujukan:

1.Titik, tutorial. "Warisan Java.", Tutorial Point, 31 Oktober. 2017. Terdapat di sini 
2.Titik, tutorial. "Java Interfaces.", Tutorial Point, 31 Oktober. 2017. Terdapat di sini 

Ihsan gambar:

1.'CPT-OOP-BIKES BIKES' oleh Pluke-Kerja Sendiri, (Domain Awam) melalui Commons Wikimedia