[ad_1]
Overriding adalah ketika kelas anak mempunyai implementasi metode untuk metode yang sudah ada di kelas induk.
ADVERTISEMENT
SCROLL TO RESUME CONTENT
Secara teknis, overriding adalah fungsi yang memerlukan subkelas atau kelas anak untuk menyediakan berbagai implementasi metode, yang sudah disediakan oleh salah satu superkelas atau kelas induknya, dalam bahasa pemrograman berorientasi objek apa pun.
Ketika suatu metode dalam subkelas memiliki nama dan tanda tangan yang sama dengan kelas supernya, maka subkelas tersebut berasal dari kelas tremendous.
Salah satu cara Java mengelola Run Time Polymorphism adalah dengan metode overriding.
Objek yang digunakan untuk memicu suatu metode menentukan varian proses yang dijalankan. Jika mengimplementasikan metode dengan objek dari kelas induk, versi kelas induk akan digunakan. Namun jika metode dipicu dengan objek dari subkelas, versi kelas turunan akan digunakan.
Mendapatkan keahlian dalam penggantian metode Java sangat penting untuk program yang dapat beradaptasi karena memungkinkan subkelas untuk menawarkan versi metode superkelas yang disesuaikan, sehingga mendorong polimorfisme. Pemahaman komprehensif tentang hal ini dan ide-ide penting lainnya diberikan oleh kursus Java, yang diperlukan untuk mengembangkan aplikasi yang dinamis dan efektif.
Baca Juga: Program Java Terbaik untuk Pemula dan Pemrogram Berpengalaman untuk Berlatih dan Meningkatkan Keterampilan
Contoh 1:
Kode:
// di sini kita mendeklarasikan kendaraan sebagai kelas induk
kelas Kendaraan{
// di sini kita membuat metode karena kendaraan mempunyai mesin
// tetapi mengubah output sebagai mesin kendaraan
mesin kosong(){
Machine.out.println(“ini adalah mesin kendaraan”);
}
}
// di sini kita mendeklarasikan kelas anak
// sepeda didasarkan pada kategori kendaraan jadi ini adalah kelas anak
// kita menggunakan kata kunci extends untuk memanggil kelas induk
kelas Sepeda memperluas Kendaraan{
// disini kita membuat metode yang sama seperti di kelas induk
// tapi mengubah output sebagai mesin sepeda
mesin kosong(){
Machine.out.println(“ini mesin sepeda”);
}
}
// di sini kita mendeklarasikan kelas anak
// mobil didasarkan pada kategori kendaraan sehingga merupakan kelas anak
kelas Mobil memperluas Kendaraan{
// disini kita membuat metode yang sama seperti di kelas induk
// tapi mengubah keluarannya menjadi mesin mobil
mesin kosong(){
Machine.out.println(“ini mesin mobil”);
}
}
Contoh Kode kelas publik {
public static void major(String() arg) {
// disini kita membuat objek untuk sepeda
Sepeda honda = Sepeda baru();
honda.engine();// memanggil metode mesin
// disini kita membuat objek untuk mobil
Mobil benz = Mobil baru();
benz.mesin(); //memanggil metode mesin
}
}
Keluaran:
ini mesin sepeda
ini mesin mobil
Dalam kode di atas, void engine() dalam kelas Kendaraan disebut metode yang diganti. Metode void engine() dalam Kelas Sepeda dan Kelas Mobil disebut metode overriding.
Mengapa Mengganti di Java Berguna?
Seperti disebutkan sebelumnya, metode yang diganti memungkinkan Java menerima polimorfisme saat runtime. Metode yang diganti juga merupakan cara lain Java merangkul aspek “satu aplikasi, banyak metode” polimorfisme.
Pemrograman berorientasi objek yang paling efektif dalam penggunaan kembali dan ketahanan kode adalah Eksekusi Proses Dinamis. Kemampuan untuk menggunakan pustaka kode yang ada untuk memanggil metode pada example kelas baru tanpa melakukan kompilasi ulang, sambil mempertahankan antarmuka abstrak yang bersih, adalah senjata yang sangat ampuh.
Metode yang diganti memungkinkan seseorang untuk memanggil metode dari objek kelas turunan mana pun tanpa mengidentifikasi bentuk kelas tremendous yang dimodifikasi.
Kapan Idealnya Menerapkan Overriding di Java?
Mengidentifikasi kelas induk dan kelas turunan membentuk hierarki yang beralih dari produktivitas lebih rendah ke produktivitas lebih tinggi adalah bagian dari rahasia penerapan polimorfisme secara efektif.
Kelas induk, bila digunakan dengan benar, berisi semua faktor yang dapat diakses langsung oleh kelas anak. Ini juga mendefinisikan metode mana yang harus dijalankan oleh kelas anak secara particular person.
Hal ini memberikan kelas anak kemampuan untuk menyampaikan metodenya sambil mempertahankan antarmuka standar.
Kelas induk akan menentukan bentuk umum metode yang digunakan oleh semua kelas turunannya dengan menggabungkan metode pewarisan dan penggantian.
Contoh 2:
Kode:
//membuat kelas induk
Financial institution kelas{
//buat fungsi untuk menghitung bunga
int getRateOfInterest(){kembali 0;}
}
//Membuat kelas anak.
kelas SBI memperluas Financial institution{
//buat fungsi untuk menghitung bunga SBI
int getRateOfInterest(){pengembalian 8;}
}
kelas ICICI memperluas Financial institution{
//buat fungsi untuk menghitung bunga ICICI
int getRateOfInterest(){pengembalian 7;}
}
kelas AXIS memperluas Financial institution{
//buat fungsi untuk menghitung bunga AXIS
int getRateOfInterest(){pengembalian 9;}
}
Contoh Kode kelas publik {
public static void major(String() arg) {
Financial institution sbibank=SBI baru(); // membuat objek untuk SBI
Financial institution icicibank=ICICI baru(); // membuat objek untuk ICICI
Financial institution axisbank=AXIS baru(); // membuat objek untuk AXIS
Machine.out.println(“Suku Bunga SBI: “+sbibank.getRateOfInterest());
Machine.out.println(“Suku Bunga ICICI: “+icicibank.getRateOfInterest());
Machine.out.println(“Suku Bunga AXIS: “+axisbank.getRateOfInterest());
}
}
Keluaran
Suku Bunga SBI : 8
Suku Bunga ICICI: 7
Suku Bunga AXIS: 9
Tangkapan layar
Apa Aturan Penggantian Metode di Java?
Hukum Penggantian Metode di JAVA:
- Nama metode harus umum dan sama dengan nama kelas induknya.
- Tanda tangan metode (daftar parameter, tipe pengembalian) dalam metode harus sama dengan kelas induk.
- Harus ada hubungan pewarisan antar kelas.
- Semua metode abstrak di kelas induk harus ditimpa di kelas anak.
- Jika metode tersebut dinyatakan sebagai statis atau ultimate, maka metode tersebut tidak dapat ditimpa.
Tangani Pengubah Akses dalam Penggantian:
Peningkatan aktivitas metode overriding akan memberikan akses yang lebih besar dibandingkan metode overridden. Metode yang dilindungi di kelas induk dapat dijadikan publik tetapi tidak bersifat pribadi di kelas anak. Jika Anda memaksanya dilakukan, ini akan menyebabkan kesalahan waktu kompilasi.
Tujuan dari Manner Overriding di Java bersifat transparan dalam situasi ini. Kelas anak harus menerapkan proses ini.
Contoh 3:
Kode:
//Penggantian dan Pengubah Akses
//di sini kita mendeklarasikan kelas induk
kelas Kendaraan {
// metode privat tidak ditimpa
//jika kita membuat fungsi menggunakan kata kunci ultimate atau kata kunci statis, fungsi kata tidak dapat ditimpa di kelas anak
mesin kekosongan pribadi()
{
Machine.out.println(“Mesin kendaraan”);
}
jenis bahan bakar kosong yang dilindungi()
{
Machine.out.println(“Jenis bahan bakar kendaraan”);
}
}
//di sini kita mendeklarasikan kelas anak
kelas Mobil memperluas Kendaraan {
// unik untuk kelas Anak
mesin kosong()
{
Machine.out.println(“Mesin mobil”);
}
jenis bahan bakar kosong yang dilindungi()
{
Machine.out.println(“Jenis bahan bakar mobil”);
}
}
Contoh Kode kelas publik {
public static void major(String() arg) {
Kendaraan kendaraan = Kendaraan baru();
kendaraan.tipe bahan bakar();
Kendaraan benz = Mobil baru();
benz.tipe bahan bakar();
// di sini kita tidak bisa memanggil tipe mesin karena pengubah akses pribadinya di kelas induk
// jika kita menyebut mendapat error
}
}
Keluaran:
Dari jenis bahan bakar induk
Dari jenis bahan bakar Mobil
Tangkapan layar
Untuk metode Akhir:
Jika Anda mendeklarasikan metode apa pun sebagai metode ultimate, metode tersebut tidak dapat menimpanya. Tidak mungkin untuk mengesampingkan metode akhir.
Untuk metode Konstruktor:
Jelasnya, konstruktor akan memiliki nama kelasnya sendiri, sehingga juga tidak dapat ditimpa.
Untuk metode Abstrak:
Jika metode abstrak ada di antarmuka atau kelas lain, kelas anak harus ditimpa.
Untuk metode Statis:
Mirip dengan metode terakhir, metode statis juga tidak dapat ditimpa. Metode statis di kelas induk akan disembunyikan dari kelas anak.
Metode Instans Superkelas |
Metode Statis Superkelas |
|
|
Metode Instans Subkelas |
Penggantian |
Menghasilkan kesalahan waktu kompilasi |
|
Metode Statis Subkelas |
Menghasilkan kesalahan waktu kompilasi |
Menyembunyikan |
Mengaktifkan Metode yang Ditimpa:
Kata kunci tremendous akan digunakan untuk memanggil fungsi kelas induk dalam metode penggantian.
Penanganan Kesalahan dalam Overriding di JAVA:
Ada tiga cara bagaimana overriding menangani penanganan pengecualian.
- Ketika kelas induk tidak mendeklarasikan pengecualian, kelas anak hanya dapat mendeklarasikan pengecualian yang tidak dicentang.
- Ketika kelas induk telah mendeklarasikan pengecualian, kelas anak dapat mendeklarasikan pengecualian yang sama, bukan pengecualian lainnya.
- Ketika kelas induk telah mendeklarasikan pengecualian, kelas anak dapat mendeklarasikannya tanpa pengecualian.
Catatan:
- Untuk mengimplementasikan overriding atau Run Time Polymorphism di C++, Anda perlu menggunakan kata kunci digital. Metode pada dasarnya bersifat sintetik di Jawa.
- Penggantian proses bertingkat dapat dilakukan.
- Dengan melakukan override, kelas anak memperluas kemampuan kelas induk.
- Penggantian metode mengimplementasikan polimorfisme dan pewarisan untuk skalabilitas kode.
Kesimpulan
Di Java, penggantian metode terjadi ketika subkelas (kelas anak) memiliki metode yang sama dengan kelas induk. Dengan kata lain, penggantian metode terjadi ketika subkelas menyediakan implementasi tertentu dari suatu metode yang dideklarasikan oleh salah satu kelas induknya. Kemampuan subkelas untuk mengganti metode memungkinkan kelas mewarisi dari superkelas dengan tindakan “hampir cukup” dan kemudian mengubahnya sesuai kebutuhan. Nama, nomor, dan tipe parameter, serta tipe kembalian dari metode yang ditimpa sama dengan metode yang ditimpanya.
Jika Anda ingin menguasai pembuatan aplikasi internet untuk setiap platform pemrograman, maka Program Pascasarjana kami dalam Pengembangan Internet Complete Stack adalah pilihan yang tepat untuk Anda. Kursus ini akan memberi Anda pemahaman yang kuat tentang Java, bahasa pemrograman yang paling banyak digunakan dalam pengembangan perangkat lunak.
Ada pertanyaan untuk kami? Tinggalkan di bagian komentar artikel ini, dan pakar kami akan menghubungi Anda sesegera mungkin!
[ad_2]
Sumber: www.simplilearn.com








