Warisan dalam OOP Java dengan Contoh

Isi kandungan:

Anonim

Apa itu Warisan?

Pewarisan adalah mekanisme di mana satu kelas memperoleh hak milik kelas lain. Sebagai contoh, seorang anak mewarisi sifat ibu bapanya. Dengan pewarisan, kita dapat menggunakan kembali bidang dan kaedah kelas yang ada. Oleh itu, pewarisan memudahkan penggunaan semula dan merupakan konsep penting OOP.

Dalam tutorial ini, anda akan belajar-

  • Jenis Warisan
  • Warisan di Jawa
  • Contoh Warisan Jawa
  • Kata Kunci Super
  • Ketahui Warisan dalam OOP dengan Contoh

Jenis Warisan

Terdapat pelbagai jenis pewarisan di Jawa:

Warisan Tunggal:

Dalam Warisan Tunggal satu kelas meluaskan kelas yang lain (satu kelas sahaja).

Warisan Tunggal

Dalam rajah di atas, Kelas B hanya meluas Kelas A. Kelas A adalah kelas super dan Kelas B adalah kelas Sub.

Warisan Pelbagai:

Dalam Multiple Inheritance, satu kelas memanjang lebih dari satu kelas. Java tidak menyokong pelbagai warisan.

Warisan Pelbagai

Seperti rajah di atas, Kelas C meluaskan Kelas A dan Kelas B kedua-duanya.

Warisan Bertingkat:

Dalam Warisan Bertingkat, satu kelas boleh mewarisi dari kelas turunan. Oleh itu, kelas yang diturunkan menjadi kelas asas untuk kelas baru.

Warisan Bertingkat

Seperti yang ditunjukkan dalam rajah Kelas C adalah subkelas B dan B adalah subkelas Kelas A.

Warisan Hierarki:

Dalam Warisan Hierarki, satu kelas diwarisi oleh banyak sub kelas.

Warisan Hierarki

Seperti contoh di atas, Kelas B, C, dan D mewarisi kelas A. yang sama.

Warisan Hibrid:

Pewarisan hibrid adalah gabungan pewarisan Tunggal dan Pelbagai.

Warisan Hibrid

Seperti contoh di atas, semua anggota kelas A awam dan dilindungi diwarisi ke Kelas D, pertama melalui Kelas B dan kedua melalui Kelas C.

Catatan: Java tidak menyokong warisan hibrid / Pelbagai

Warisan Di Jawa

JAVA INHERITANCE adalah mekanisme di mana satu kelas memperoleh hak milik kelas lain. Di Jawa, ketika hubungan "Is-A" ada di antara dua kelas, kami menggunakan Warisan. Kelas induk dipanggil kelas super dan kelas yang diwarisi disebut kelas bawah. Kata kunci

extends digunakan oleh sub kelas untuk mewarisi ciri kelas super.

Warisan penting kerana membawa kepada penggunaan semula kod.

Sintaks Warisan Java:

class subClass extends superClass{//methods and fields}

Contoh Warisan Jawa

class Doctor {void Doctor_Details() {System.out.println("Doctor Details… ");}}class Surgeon extends Doctor {void Surgeon_Details() {System.out.println("Surgen Detail… ");}}public class Hospital {public static void main(String args[]) {Surgeon s = new Surgeon();s.Doctor_Details();s.Surgeon_Details();}}

Kata Kunci Super

Kata kunci super serupa dengan kata kunci "ini".

Kata kunci super boleh digunakan untuk mengakses mana-mana ahli data atau kaedah kelas induk.

Kata kunci super boleh digunakan pada tahap pemboleh ubah, kaedah dan konstruktor.

Sintaks:

super.();

Ketahui Warisan dalam OOP dengan Contoh

Pertimbangkan aplikasi perbankan yang sama dari contoh sebelumnya.

Kita sepatutnya membuka dua jenis akaun yang berbeza, satu untuk simpanan dan satu lagi untuk diperiksa (juga dikenali sebagai semasa).

Mari bandingkan dan kaji bagaimana kita boleh mendekati pengkodan dari perspektif pengaturcaraan yang tersusun dan berorientasikan objek. Pendekatan struktur : Dalam pengaturcaraan berstruktur, kami akan membuat dua fungsi -

  1. Satu untuk menarik diri
  2. Dan yang lain untuk tindakan deposit.

Oleh kerana fungsi ini tetap sama di semua akaun.

Pendekatan OOP : Semasa menggunakan pendekatan pengaturcaraan OOP. Kami akan membuat dua kelas.

  • Masing-masing mempunyai fungsi deposit dan pengeluaran.
  • Ini akan membebankan kerja tambahan.

Tukar Permintaan dalam Perisian

Sekarang ada perubahan dalam spesifikasi keperluan untuk sesuatu yang sangat umum dalam industri perisian. Anda sepatutnya menambah fungsi Akaun Perbankan istimewa dengan Kemudahan Overdraf. Untuk latar belakang, overdraf adalah kemudahan di mana anda boleh mengeluarkan jumlah yang lebih banyak daripada baki yang ada di akaun anda.

Pendekatan struktural: Dengan menggunakan pendekatan fungsional, saya harus mengubah fungsi penarikan saya, yang sudah diuji dan berdasarkan asasnya. Dan tambahkan kaedah seperti di bawah ini akan menguruskan keperluan baru.

Pendekatan OOP: Dengan menggunakan pendekatan OOP, anda hanya perlu menulis kelas baru dengan pelaksanaan fungsi pengeluaran yang unik. Kami tidak pernah menyentuh kod yang diuji.

Permintaan Perubahan Lain

Bagaimana jika keperluan berubah lebih jauh? Suka menambah akaun kad kredit dengan keperluan deposit yang tersendiri .

Pendekatan struktural: Dengan menggunakan pendekatan struktur, anda harus menukar sekeping kod deposit yang diuji lagi.

Pendekatan OOP : Tetapi dengan menggunakan pendekatan berorientasikan objek, anda hanya akan membuat kelas baru dengan pelaksanaan kaedah deposit yang unik (disorot merah pada gambar di bawah).

Oleh itu, walaupun pengaturcaraan struktur kelihatan seperti pendekatan yang mudah pada mulanya, OOP menang dalam jangka masa panjang.

Kelebihan Warisan dalam OOP

Tetapi seseorang mungkin berpendapat bahawa di semua kelas, anda mempunyai potongan kod berulang.

Untuk mengatasinya, anda membuat kelas induk, sebut "akaun" dan melaksanakan fungsi deposit dan pengeluaran yang sama. Dan jadikan kelas anak-anak kelas "akaun" yang diwarisi. Sehingga mereka dapat mengakses fungsi pengeluaran dan deposit di kelas akaun.

Fungsi tidak diperlukan untuk dilaksanakan secara individu. Ini adalah Warisan di java. .