Perbedaan Antara Overriding Dan Overloading Di C

Daftar Isi:

Perbedaan Antara Overriding Dan Overloading Di C
Perbedaan Antara Overriding Dan Overloading Di C

Video: Perbedaan Antara Overriding Dan Overloading Di C

Video: Perbedaan Antara Overriding Dan Overloading Di C
Video: Contoh Sederhana Overloading dan Overriding pada OOP 2024, Mungkin
Anonim

Perbedaan Kunci - Overriding vs Overloading di C #

Perbedaan utama antara overriding dan overloading di C # adalah bahwa pengikatan panggilan metode yang diganti ke definisinya terjadi pada waktu proses sementara pengikatan panggilan metode yang kelebihan beban ke definisinya 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 banyak perilaku. Ada dua jenis Polimorfisme yang dikenal sebagai overriding dan overloading. Artikel ini membahas perbedaan antara metode overriding dan overloading di C #.

ISI

1. Gambaran Umum dan Perbedaan Utama

2. Apa yang Menggantikan di C #

3. Apa yang Berlebihan di C #

4. Persamaan Antara Overriding dan Overloading di C #

5. Perbandingan Berdampingan - Overriding vs Overloading di C # dalam Bentuk Tabular

6. Ringkasan

Apa yang Menggantikan di C #?

Ada satu lagi konsep penting dalam OOP yaitu pewarisan. Ini 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 menimpa polimorfisme, harus ada kelas dasar dan kelas turunan. Pengikatan panggilan metode yang diganti ke definisi terjadi pada waktu proses. Contohnya adalah sebagai berikut.

Perbedaan Antara Overriding dan Overloading di C #
Perbedaan Antara Overriding dan Overloading di C #

Gambar 01: Program C # dengan Overriding

Menurut program di atas, bentuk kelas adalah kelas dasar, dan berisi metode tampilan. Kelas Persegi Panjang dan Segitiga adalah kelas turunan. Kelas turunan ini juga memiliki tampilan metode yang sama dengan implementasinya sendiri.

Pertama, object variabel referensi dibuat. Ini menunjuk ke objek Shape. Jadi, metode tampilan kelas Shape akan dieksekusi. Kemudian, variabel referensi menunjuk ke objek Persegi Panjang. Jadi, metode tampilan kelas Rectangle akan dieksekusi. Terakhir, variabel referensi menunjuk ke objek Segitiga. Jadi, metode tampilan kelas Segitiga akan dieksekusi. Metode tampilan kelas dasar diganti dengan metode tampilan kelas turunan.

Metode untuk menjalankan ditentukan 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 metode tampilan kelas Shape untuk semua.

Apa itu Overloading di C #?

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

Perbedaan Utama Antara Overriding dan Overloading di C #
Perbedaan Utama Antara Overriding dan Overloading di C #

Gambar 02: Program C # dengan Overloading

Berdasarkan program di atas, kelas A memiliki dua metode bernama sum. Mereka memiliki jenis parameter yang berbeda. Dalam program utama, sebuah 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 tersebut memiliki nama yang sama dan jumlah parameter yang sama. Tetapi jenis parameternya berbeda. Metode yang diperlukan dipanggil sesuai. Overloading juga dapat terjadi jika nama metode dan tipe parameter sama tetapi jumlah parameternya berbeda.

Apa Persamaan Antara Overriding dan Overloading di C #?

Baik Overriding dan Overloading di C # adalah jenis polimorfisme

Apa Perbedaan Antara Overriding dan Overloading di C #?

Artikel Diff Tengah sebelum Tabel

Overriding vs Overloading di C #

Mengganti dalam C # adalah menyediakan implementasi khusus dalam metode kelas turunan untuk metode yang sudah ada di kelas dasar. Overloading di C # adalah membuat beberapa 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 # Overloading, metode memiliki nama yang sama tetapi jumlah parameter yang berbeda atau jenis parameter yang berbeda.
Kejadian
Di C #, overriding terjadi di dalam kelas dasar dan kelas turunan. Di C #, overloading terjadi dalam kelas yang sama.
Binding Time
Pengikatan panggilan metode yang diganti ke definisinya terjadi pada waktu proses. Pengikatan panggilan metode kelebihan beban ke definisinya terjadi pada waktu kompilasi.
Sinonim
Overriding disebut sebagai polimorfisme runtime, polimorfisme dinamis, atau pengikatan akhir. Overloading disebut sebagai polimorfisme waktu kompilasi, polimorfisme statis atau pengikatan awal.

Ringkasan - Overriding vs Overloading di C #

Overriding dan Overloading adalah dua jenis polimorfisme. Perbedaan antara overriding dan overloading di C # adalah bahwa pengikatan panggilan metode yang diganti ke definisinya terjadi pada waktu proses sementara pengikatan panggilan metode yang kelebihan beban ke definisinya terjadi pada waktu kompilasi.

Direkomendasikan: