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: Polymorphism - Perbedaan antara Overloading dan Overridding pada Pemrograman Berorientasi Objek 2024, Desember
Anonim

Perbedaan Kunci – Overriding vs Overloading di C

Perbedaan utama antara overriding dan overloading dalam C adalah bahwa pengikatan pemanggilan metode yang ditimpa ke definisinya terjadi saat runtime sedangkan pengikatan pemanggilan 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 Object Oriented Programming (OOP). Salah satu pilar OOP adalah Polymorphism. Ini memberi objek untuk memiliki banyak perilaku. Ada dua jenis dalam Polimorfisme yang dikenal sebagai overriding dan overloading. Artikel ini membahas perbedaan antara metode overriding dan overloading di C.

Apa itu Overriding di C?

Ada satu lagi konsep penting dalam OOP yaitu pewarisan. Hal ini untuk 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 diganti ke definisi terjadi saat runtime. 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, kelas Bentuk 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, variabel referensi obj dibuat. Ini menunjuk ke objek Shape. Jadi, metode tampilan kelas Shape akan dieksekusi. Kemudian, variabel referensi menunjuk ke objek Rectangle. Jadi, metode tampilan kelas Rectangle akan dieksekusi. Akhirnya, variabel referensi menunjuk ke objek Segitiga. Jadi, metode tampilan kelas Segitiga akan dijalankan. Metode tampilan kelas dasar diganti oleh metode tampilan kelas turunan.

Metode yang akan dijalankan 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 Bentuk 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 ke definisi terjadi pada waktu kompilasi. Lihat program C di bawah ini.

Perbedaan Kunci Antara Overriding dan Overloading di C
Perbedaan Kunci Antara Overriding dan Overloading di C

Gambar 02: Program C dengan Overloading

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

Apa Persamaan Overriding dan Overloading di C?

Keduanya Overriding dan Overloading di C adalah jenis polimorfisme

Apa Perbedaan Overriding dan Overloading di C?

Overriding vs Overloading di C

Overriding di C adalah menyediakan implementasi spesifik 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
Dalam C, overriding terjadi di dalam kelas dasar dan kelas turunan. Dalam C, overloading terjadi dalam kelas yang sama.
Waktu Pengikatan
Pengikatan pemanggilan metode yang diganti ke definisinya terjadi saat runtime. Pengikatan pemanggilan metode yang kelebihan beban ke definisinya terjadi pada waktu kompilasi.
Sinonim
Overriding disebut sebagai polimorfisme runtime, polimorfisme dinamis, atau late binding. Overloading disebut sebagai compile time polymorphism, static polymorphism atau early binding.

Ringkasan – Overriding vs Overloading di C

Overriding dan Overloading adalah dua jenis polimorfisme. Perbedaan antara overriding dan overloading dalam C adalah bahwa pengikatan pemanggilan metode yang ditimpa ke definisinya terjadi saat runtime sedangkan pengikatan pemanggilan metode yang kelebihan beban ke definisinya terjadi pada waktu kompilasi.

Direkomendasikan: