Apa itu Warisan?
Pewarisan adalah mekanisme di mana satu kelas memperoleh properti dari kelas lain. Misalnya, seorang anak mewarisi sifat-sifat orang tuanya. Dengan pewarisan, kita dapat menggunakan kembali bidang dan metode kelas yang ada. Karenanya, pewarisan memfasilitasi Dapat digunakan kembali dan merupakan konsep penting OOP.
Dalam tutorial ini, Anda akan belajar-
- Jenis Warisan
- Warisan di Jawa
- Contoh Warisan Java
- Kata Kunci Super
- Pelajari Warisan di OOP dengan Contoh
Jenis Warisan
Ada Berbagai Jenis Pewarisan di Jawa:
Warisan Tunggal:
Dalam Warisan Tunggal satu kelas memperluas kelas lain (hanya satu kelas).
Dalam diagram di atas, Kelas B hanya memperluas Kelas A. Kelas A adalah kelas super dan Kelas B adalah Sub-kelas.
Warisan Ganda:
Dalam Warisan Ganda, satu kelas yang memperluas lebih dari satu kelas. Java tidak mendukung multiple inheritance.
Sesuai diagram di atas, Kelas C memperluas Kelas A dan Kelas B keduanya.
Warisan Bertingkat:
Dalam Multilevel Inheritance, satu kelas dapat mewarisi dari kelas turunan. Karenanya, kelas turunan menjadi kelas dasar untuk kelas baru.
Seperti yang ditunjukkan pada diagram Kelas C adalah subkelas B dan B adalah subkelas Kelas A.
Warisan Hirarkis:
Dalam Hierarchical Inheritance, satu kelas diwarisi oleh banyak sub kelas.
Sesuai contoh di atas, Kelas B, C, dan D mewarisi kelas A.
Warisan Hibrid:
Pewarisan hibrida adalah kombinasi dari pewarisan Tunggal dan Ganda.
Sesuai contoh di atas, semua publik dan anggota yang dilindungi dari Kelas A diwariskan ke Kelas D, pertama melalui Kelas B dan kedua melalui Kelas C.
Catatan: Java tidak mendukung hybrid / Multiple inheritence
Warisan Di Jawa
JAVA INHERITANCE adalah mekanisme dimana satu kelas memperoleh properti dari kelas lain. Di Java, ketika ada hubungan "Is-A" antara dua kelas, kami menggunakan Warisan. Kelas induk disebut kelas super dan kelas yang diwariskan disebut subkelas. Kata kunci
extends
digunakan oleh sub kelas untuk mewarisi fitur kelas super.
Warisan penting karena mengarah pada penggunaan kembali kode.
Sintaks Warisan Java:
class subClass extends superClass{//methods and fields}
Contoh Warisan Java
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 mirip dengan kata kunci "ini".
Kata kunci super dapat digunakan untuk mengakses anggota data atau metode kelas induk.
Kata kunci super dapat digunakan pada tingkat variabel, metode dan konstruktor.
Sintaksis:
super.();
Pelajari Warisan di OOP dengan Contoh
Perhatikan aplikasi perbankan yang sama dari contoh sebelumnya.
Kami seharusnya membuka dua jenis akun yang berbeda, satu untuk tabungan dan satu lagi untuk pengecekan (juga dikenal sebagai saat ini).
Mari kita bandingkan dan pelajari bagaimana kita dapat mendekati pengkodean dari perspektif pemrograman terstruktur dan berorientasi objek. Pendekatan struktural : Dalam pemrograman terstruktur, kami akan membuat dua fungsi -
- Satu untuk ditarik
- Dan yang lainnya untuk tindakan deposit.
Karena cara kerja fungsi ini tetap sama di semua akun.
Pendekatan OOP : Saat menggunakan pendekatan pemrograman OOP. Kami akan membuat dua kelas.
- Masing-masing memiliki implementasi fungsi setoran dan penarikan.
- Ini akan menjadi pekerjaan ekstra yang mubazir.
Ubah Permintaan di Perangkat Lunak
Sekarang ada perubahan spesifikasi kebutuhan untuk sesuatu yang sangat umum di industri perangkat lunak. Anda diharapkan untuk menambah fungsionalitas Rekening Perbankan dengan Fasilitas Cerukan. Sebagai latar belakang, cerukan adalah fasilitas di mana Anda dapat menarik jumlah lebih dari saldo yang tersedia di akun Anda.
Pendekatan struktural: Dengan menggunakan pendekatan fungsional, saya harus mengubah fungsi penarikan saya, yang sudah diuji dan dibuat dasar-dasarnya. Dan menambahkan metode seperti di bawah ini akan menangani persyaratan baru.
Pendekatan OOP: Menggunakan pendekatan OOP, Anda hanya perlu menulis kelas baru dengan implementasi unik dari fungsi penarikan. Kami tidak pernah menyentuh potongan kode yang diuji.
Permintaan Perubahan Lainnya
Bagaimana jika persyaratan berubah lebih jauh? Suka menambahkan akun kartu kredit dengan persyaratan setorannya sendiri yang unik .
Pendekatan struktural: Dengan menggunakan pendekatan struktural, Anda harus mengubah kode deposit yang diuji lagi.
Pendekatan OOP : Tetapi menggunakan pendekatan berorientasi objek, Anda hanya akan membuat kelas baru dengan implementasi unik dari metode setoran (disorot merah pada gambar di bawah).
Jadi meskipun pemrograman struktural tampak seperti pendekatan yang mudah pada awalnya, OOP menang dalam jangka panjang.
Keuntungan Warisan dalam OOP
Tetapi orang mungkin berpendapat bahwa di semua kelas, Anda memiliki potongan kode yang berulang.
Untuk mengatasinya, Anda membuat kelas induk, katakanlah "akun" dan terapkan fungsi setoran dan penarikan yang sama. Dan membuat kelas anak mewarisi kelas "akun". Sehingga mereka akan memiliki akses untuk fungsi penarikan dan penyetoran di kelas akun.
Fungsi tidak harus diimplementasikan secara individual. Ini Warisan di Jawa. .