Perbedaan Antara Overriding dan Overloading di C #

Perbedaan Utama - Mengesampingkan vs Kelebihan beban dalam C #
 

Itu perbedaan utama antara overriding dan overloading di C # adalah itu pengikatan pemanggilan metode yang ditimpa ke definisi terjadi pada saat runtime sedangkan pengikatan pemanggilan metode yang overload ke definisi terjadi pada waktu kompilasi.

C # adalah bahasa pemrograman tujuan umum yang dikembangkan oleh Microsoft. Keuntungan utama C # adalah mendukung Pemrograman Berorientasi Objek (OOP). Salah satu pilar OOP adalah Polimorfisme. Ini memberi objek untuk memiliki beberapa perilaku. Ada dua jenis dalam Polimorfisme yang dikenal sebagai overriding dan overloading. Artikel ini membahas perbedaan antara metode overriding dan overloading di C #.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa yang Overriding dalam C #
3. Apa itu Overloading di C #
4. Kesamaan Antara Overriding dan Overloading di C #
5. Perbandingan Berdampingan - Overriding vs Overloading dalam C # dalam Bentuk Tabular
6. Ringkasan

Apa itu Overriding dalam C #?

Ada satu konsep penting lainnya dalam OOP yaitu pewarisan. Ini adalah dengan menggunakan atribut dan metode dari kelas yang sudah ada. Ini meningkatkan penggunaan kembali kode. Kelas yang sudah ada adalah kelas dasar, dan kelas baru dikenal sebagai kelas turunan. Dalam mengesampingkan polimorfisme, harus ada kelas dasar dan kelas turunan. Pengikatan pemanggilan metode yang ditimpa ke definisi terjadi saat runtime. Contohnya adalah sebagai berikut.

Gambar 01: Program C # dengan Mengesampingkan

Menurut program di atas, Bentuk kelas adalah kelas dasar, dan itu berisi metode tampilan. Kelas Rectangle dan Triangle adalah kelas turunan. Kelas-kelas turunan ini juga memiliki tampilan metode yang sama dengan implementasinya sendiri.

Pertama, obj variabel referensi dibuat. Ini menunjuk ke objek Shape. Jadi, metode tampilan kelas Shape akan mengeksekusi. Kemudian, variabel referensi menunjuk ke objek Rectangle. Jadi, metode tampilan kelas Rectangle akan dieksekusi. Akhirnya, variabel referensi menunjuk ke objek Triangle. Jadi, metode tampilan kelas Triangle akan dieksekusi. Metode tampilan kelas dasar ditimpa oleh metode tampilan kelas turunan.

Metode untuk menjalankan ditentukan pada saat runtime. Kelas Shape ditulis dengan kata kunci 'virtual'. Kelas Rectangle dan Triangle ditulis dengan kata kunci 'override'. Jika kata kunci ini tidak digunakan, output akan mencetak konten dari metode tampilan kelas Shape untuk semua.

Apa itu Overloading di C #?

Dalam overloading, beberapa metode memiliki nama yang sama tetapi dengan parameter yang berbeda. Parameter dapat dari berbagai jenis. Metode juga dapat memiliki jumlah parameter yang berbeda. Metode overloading terjadi di kelas yang sama. Pengikatan metode kelebihan beban dengan definisi terjadi pada waktu kompilasi. Lihat program C # di bawah ini.

Gambar 02: Program C # dengan Overloading

Menurut program di atas, kelas A memiliki dua metode dengan nama yang sama yang disebut jumlah. Mereka memiliki berbagai jenis parameter. Dalam program utama, objek A dibuat. Jumlah (2,3) akan memanggil metode penjumlahan dengan bilangan bulat. Jumlahnya (5.1, 7.94) akan memanggil metode penjumlahan dengan nilai ganda. Kedua metode memiliki nama yang sama dan jumlah parameter yang sama. Tetapi tipe-tipe parameternya berbeda. Metode yang diperlukan disebut sesuai. Overloading juga dapat terjadi jika nama metode dan tipe parameter sama tetapi jumlah parameter berbeda.

Apa Kesamaan Antara Overriding dan Overloading di C #?

  • Baik Overriding dan Overloading dalam C # adalah jenis polimorfisme.

Apa Perbedaan Antara Overriding dan Overloading di C #?

Overriding vs Overloading dalam C #

Overriding dalam C # adalah untuk menyediakan implementasi spesifik dalam metode kelas turunan untuk metode yang sudah ada di kelas dasar. Overloading di C # adalah membuat banyak metode dengan nama yang sama dengan implementasi yang berbeda.
 Parameter
Dalam C # Overriding, metode memiliki nama yang sama, tipe parameter yang sama dan jumlah parameter yang sama. Dalam C # Kelebihan, metode memiliki nama yang sama tetapi jumlah parameter yang berbeda atau jenis parameter yang berbeda.
Kejadian
Dalam C #, pengesampingan terjadi dalam kelas dasar dan kelas turunan. Dalam C #, kelebihan beban terjadi dalam kelas yang sama.
 Waktu yang mengikat
Pengikatan pemanggilan metode yang ditimpa ke definisi terjadi saat runtime. Pengikatan pemanggilan metode berlebih ke definisi terjadi pada waktu kompilasi.
Sinonim
Overriding disebut sebagai polimorfisme runtime, polimorfisme yang dinamis atau mengikat terlambat. Overloading disebut sebagai kompilasi polimorfisme waktu, polimorfisme statis atau mengikat awal.

Ringkasan - Mengganti vs Kelebihan beban dalam C #

Overriding dan Overloading adalah dua jenis polimorfisme. Perbedaan antara overriding dan overloading di C # adalah bahwa pengikatan pemanggilan metode yang ditimpa ke definisi terjadi pada saat runtime sedangkan pengikatan pemanggilan metode yang berlebih untuk definisinya terjadi pada waktu kompilasi.

Referensi:

1.Kumar, Mukesh. C # Pojok. Tersedia disini
2.tutorialspoint.com. "C # Polimorfisme." TutorialsPointTersedia disini
3.tutorialspoint.com. "C # Jenis Data." TutorialsPoint, Tersedia di sini