Direkomendasikan, 2024

Pilihan Editor

Perbedaan Antara Metode Overloading dan Overriding

Metode Overloading
Metode overloading, juga dikenal sebagai Function overloading atau Compile time polymorphism, adalah konsep memiliki dua metode atau lebih dengan nama yang sama tetapi tanda tangan berbeda dalam cakupan yang sama. Ada banyak bahasa pemrograman yang mendukung fitur ini: Ada, C ++, C #, D, dan Java.

Contoh Metode Overloading di C #

class OverloadShapes {float Polygon (int radius, float pi) {float circleArea = pi * radius * radius; } int Polygon (panjang int, luas int) {int rectangleArea = panjang * luas; } int Polygon (int side) {int squareArea = sisi * sisi; }}
1 2 3 4 5 6 7 8 9 10 11 12 13 14class OverloadShapes {float Polygon (int radius, float pi) {float circleArea = pi * radius * radius; } int Polygon (panjang int, luas int) {int rectangleArea = panjang * luas; } int Polygon (int side) {int squareArea = sisi * sisi; }}

Seperti yang ditunjukkan pada contoh di atas, metode 'Poligon' kelebihan beban 3 kali dengan metode tanda tangan yang berbeda, yaitu jenis atau jumlah parameter berbeda.

Metode Overriding
Method overriding, juga dikenal sebagai Function overriding atau Run time polymorphism, adalah fitur OOP yang memungkinkan kelas anak untuk memberikan implementasinya sendiri ke metode yang didefinisikan dalam kelas induk. Implementasi di kelas anak menimpa definisi metode di kelas dasar, asalkan metode di kelas anak harus memiliki nama yang sama, tanda tangan dan jenis kembali.

Contoh Metode Overriding dalam C #

class Source1 {public void draw () {Console.Writeline ("Saya di kelas Source1"); }} class Source2 extends Source1 {public void draw () {Console.Writeline ("Saya di kelas Source2"); }}
1 2 3 4 5 6 7 8 9 10class Source1 {public void draw () {Console. Writeline ("Saya di kelas Source1"); }} class Source2 extends Source1 {public void draw () {Console. Writeline ("Saya di kelas Source2"); }}

Di sini, metode draw di kelas Source2 menimpa metode draw yang didefinisikan di kelas Source1.

Perbedaan Antara Metode Overloading dan Metode Overriding

  1. Dalam Metode kelebihan metode harus memiliki tanda tangan yang berbeda. Dalam metode, metode utama harus memiliki tanda tangan yang sama.
  2. Function Overloading adalah untuk "menambah" atau "memperluas" lebih ke perilaku metode. Fungsi mengesampingkan adalah untuk sepenuhnya "mengubah" atau "mendefinisikan kembali perilaku suatu metode.
  3. Metode overloading digunakan untuk mencapai waktu kompilasi polimorfisme; Metode overriding digunakan untuk mencapai run-time polymorphism.
  4. Dalam compiler metode / fungsi overloading tahu objek mana yang ditugaskan untuk kelas mana pada saat kompilasi, tetapi dalam metode menimpa informasi ini tidak diketahui sampai runtime.
  5. Function Overloading terjadi di kelas yang sama sedangkan Overriding terjadi di kelas yang berasal dari kelas dasar.
Top