Polimorfisme di Jawa: Cara Overload atau Override Metode

Polimorfisme di Jawa: Cara Overload atau Override Metode

Metode overloading dan overriding adalah dua cara di mana Java mendemonstrasikan polimorfisme. Polimorfisme berasal dari kombinasi dua kata Yunani: 'poly' yang berarti banyak dan 'morph' yang berarti bentuk. Oleh karena itu, polimorfisme memungkinkan metode untuk mengambil banyak bentuk.





Ikuti panduan ini untuk mempelajari cara membebani atau menimpa metode di Java.





Apa Metode Overloading?

'Metode overloading' mengacu pada mendefinisikan metode yang berbeda di kelas dengan nama yang sama. Metode harus memiliki tanda tangan yang berbeda. Tanda tangan metode adalah kombinasi nama metode dan daftar parameter. Itu tidak termasuk tipe pengembalian.





Kompiler mengetahui metode mana yang digunakan dengan memeriksa jenis, jumlah parameter, dan urutan penempatannya.

Terkait: Menjelajahi Warisan dalam Bahasa Pemrograman Java



Metode overloading menunjukkan polimorfisme waktu kompilasi. Polimorfisme waktu kompilasi berarti bahwa kompiler Java mengikat objek ke fungsionalitasnya saat runtime. Kompilator memeriksa tanda tangan metode untuk mencapai ini.

Jenis polimorfisme ini juga dikenal sebagai pengikatan statis atau awal.





Lihat contoh metode overloading di bawah ini:

class Arithmetic{
int cube(int x){
return x*x*x;
}
double cube(double x){
return x*x*x;
}
float cube(float x){
return x*x*x;
}
public static void main(String[] args){
Arithmetic myMultiplication = new Arithmetic();
System.out.println('The cube of 5 is ' + myMultiplication.cube(5));
System.out.println('The cube of 5.0 is ' + myMultiplication.cube(5.0));
System.out.println('The cube of 0.5 is ' + myMultiplication.cube(0.5));
}
}

Keluaran:





The cube of 5 is 125
The cube of 5.0 is 125.0
The cube of 0.5 is 0.125

Kode di atas menunjukkan bagaimana Anda bisa mendapatkan kubus dari berbagai jenis ( ke dalam , dobel , mengambang ) menggunakan metode yang sama.

Umumnya, metode overloading digunakan untuk mendefinisikan metode serupa dengan tipe parameter yang berbeda.

Apa itu Metode Overriding?

Ini mengacu pada implementasi metode yang berbeda dalam subkelas. Metode harus sudah didefinisikan di kelas induk.

Metode utama (yaitu yang ada di subkelas) harus memiliki tanda tangan metode yang sama dengan yang ada di superkelas. Tipe pengembalian dari metode overriding mungkin sama atau subtipe dari yang ada di superclass.

Overriding umumnya digunakan untuk memasukkan implementasi spesifik dari perilaku objek di subclass.

class Account{
public void message() {
System.out.println('
Thank you for opening an account with us!');
}
public static void main(String args[]) {
Account myAccount = new Account();
Savings mySavings = new Savings();
FixedDeposit myFixedDepo = new FixedDeposit();
myAccount.message();
mySavings.message();
myFixedDepo.message();
}
}
class Savings extends Account {
public void message() {
System.out.println('
Thank you for opening a Savings account with us!');
}
}
class FixedDeposit extends Account {
public void message() {
System.out.println('
Thank you for opening a Fixed Deposit account with us!');
}
}

Keluaran:

Thank you for opening an account with us!
Thank you for opening a Savings account with us!
Thank you for opening a Fixed Deposit account with us!

Contoh di atas menunjukkan bagaimana metodenya pesan() ditimpa di subclass Tabungan dan Simpanan tetap . Pesan yang berbeda akan ditampilkan untuk pemegang rekening bank dengan rekening Tabungan dan mereka yang memiliki rekening Deposito Tetap.

Terkait: Yang Perlu Anda Ketahui Tentang Menggunakan String di Java

Perlu juga dicatat bahwa penggantian metode menunjukkan polimorfisme runtime atau pengiriman metode dinamis. Ini berarti bahwa metode yang akan dipanggil diselesaikan pada saat runtime daripada saat kompilasi.

Untuk menghindari metode ditimpa, gunakan kata kunci terakhir .

final void message (){
System.out.println('
Thank you for opening an account with us!');
}

Ketika subkelas mencoba untuk menimpanya, kesalahan kompilasi akan terjadi.

Idealnya, semua metode yang dipanggil dalam konstruktor harus terakhir . Ini untuk menghindari perubahan yang tidak diinginkan yang mungkin disebabkan oleh subclass.

Terkadang, Anda mungkin perlu mengakses metode yang diganti dalam metode utama. Anda dapat menggunakan kata kunci super diikuti oleh operator titik ( . ) dan nama metode dalam kasus seperti itu.

Pertimbangkan kelas super Satwa .

class Animal{
public void move() {
System.out.println('
I can move.');
}
}

Di bawah ini adalah subclass, yang disebut Ikan , yang menimpa pindah() :

class Fish extends Animal {
public void move() {
System.out.println('
I can swim.');
super.move();
}
public static void main(String args[]){
Fish Tilapia = new Fish();
Tilapia.move();
}
}

Keluaran:

bisakah polisi membaca pesan teks yang telah dihapus?
I can swim.
I can move.

Saat mengganti metode, Anda juga harus memperhatikan pengubah akses yang digunakan. Pengubah di subclass harus memiliki tingkat visibilitas yang sama atau lebih tinggi daripada di kelas dasar. Misalnya, jika metode di kelas dasar didefinisikan sebagai terlindung , maka metode utama dapat berupa terlindung atau publik .

Kode Sederhana Dengan Polimorfisme

Metode overriding dan overloading penting untuk penyederhanaan kode, dan kode sederhana adalah praktik yang baik.

Mengapa? Bayangkan basis kode yang kompleks dengan lebih banyak seluk beluk daripada Grand Central Station. Sekarang bayangkan serangga yang menghancurkan mulai menghancurkan kerja keras Anda di depan mata Anda. Anda perlu mengisolasi sumber infeksi, dan Anda harus melakukannya dengan cepat.

Semoga berhasil, Anda tidak menyederhanakan kode Anda... Sekarang Anda akan mendapatkan pelajaran nyata dalam kriptografi. Mempekerjakan struktur data yang efektif dan melakukan apa yang Anda bisa untuk mempersingkat kode (seperti mengingat KERING) adalah pertahanan terbaik Anda terhadap situasi seperti ini.

Selanjutnya pada daftar pembelajaran Java Anda harus bekerja dengan array. Mereka adalah struktur data penting yang digunakan untuk menyimpan kumpulan titik data.

Membagikan Membagikan Menciak Surel Cara Membuat dan Melakukan Operasi pada Array di Java

Belajar bahasa Jawa? Biarkan array menangani data Anda dengan mudah.

Baca Selanjutnya
Topik-topik yang berkaitan
  • Pemrograman
  • Jawa
  • Tutorial Pengkodean
Tentang Penulis Jerome Davidson(22 Artikel Diterbitkan)

Jerome adalah Staf Penulis di MakeUseOf. Dia meliput artikel tentang Pemrograman dan Linux. Dia juga penggemar kripto dan selalu mengawasi industri kripto.

More From Jerome Davidson

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan