Kelebihan metode
Topik baru dan menarik kita hari ini adalah kelebihan metode . Hati-hati — kelebihan metode tidak boleh dikacaukan dengan penggantian metode.
Tidak seperti overriding, overloading adalah operasi yang sangat sederhana. Ini sebenarnya bukan operasi pada metode, meskipun terkadang disebut dengan istilah polimorfisme parametrik yang mengerikan .
Masalahnya di sini adalah bahwa semua metode dalam suatu kelas harus memiliki nama yang unik. Yah, itu tidak sepenuhnya akurat. Nah, lebih tepatnya, itu sama sekali tidak akurat. Nama metode tidak harus unik. Yang harus unik adalah penyatuan nama metode dan tipe parameter metode. Serikat ini dikenal sebagai tanda tangan metode
Contoh:
Kode | Keterangan |
---|---|
|
Ini diperbolehkan. Kedua metode tersebut memiliki nama yang unik. |
|
Dan juga ini. Kedua metode memiliki nama unik (tanda tangan). |
|
Cara-caranya masih unik |
|
Tapi ini tidak diperbolehkan . Metodenya tidak unik . Meskipun mereka mengembalikan tipe yang berbeda. |
|
Tapi Anda bisa melakukan ini . Parameter metode bersifat unik |
Tanda tangan termasuk nama metode dan jenis parameter . Itu tidak termasuk tipe kembalian metode dan nama parameter . Kelas tidak boleh memiliki dua metode dengan tanda tangan yang sama — kompiler tidak akan tahu mana yang harus dipanggil.
Nama parameter tidak masalah , karena hilang selama kompilasi. Setelah metode dikompilasi, hanya nama dan tipe parameternya yang diketahui. Jenis pengembalian tidak hilang, tetapi hasil metode tidak harus ditetapkan ke apa pun, sehingga juga tidak disertakan dalam tanda tangan.
Menurut prinsip OOP , polimorfisme menyembunyikan implementasi berbeda di balik satu antarmuka. Saat kita memanggil System.out.println()
metode, misalnya, metode yang berbeda dipanggil tergantung pada argumen mana yang diteruskan. Ini adalah polimorfisme dalam aksi.
Itu sebabnya metode berbeda dengan nama identik yang terkandung dalam kelas yang sama dianggap sebagai bentuk polimorfisme yang lemah.
GO TO FULL VERSION