Pemrograman Berorientasi Objek (OOP) umumnya digunakan untuk mengembangkan perangkat lunak. Banyak bahasa pemrograman mendukung pemrograman berorientasi objek. Pemrograman berorientasi objek adalah metodologi untuk merancang program menggunakan kelas dan objek. Kelas dalam OOP adalah cetak biru untuk membuat objek. Kelas A memiliki properti dan metode. Objek adalah turunan dari kelas. OOP berisi empat pilar seperti Warisan, Polimorfisme, Abstraksi dan Enkapsulasi. Artikel ini membahas perbedaan antara Polimorfisme dan Warisan dalam OOP. Itu perbedaan utama antara Polimorfisme dan Warisan dalam OOP adalah itu Polimorfisme adalah kemampuan suatu objek untuk berperilaku dalam berbagai cara dan Warisan adalah untuk membuat kelas baru menggunakan properti dan metode dari kelas yang ada.
1. Ikhtisar dan Perbedaan Utama
2. Apa itu Polimorfisme dalam OOP
3. Apa itu Warisan dalam OOP
4. Kesamaan Antara Polimorfisme dan Warisan dalam OOP
5. Perbandingan Berdampingan - Polimorfisme vs Warisan dalam OOP dalam Bentuk Tabular
6. Ringkasan
Polimorfisme adalah untuk menunjukkan berbagai bentuk. Satu objek dapat memiliki banyak perilaku. Polimorfisme dapat dibagi menjadi dua kategori. Mereka overloading dan overriding.
Lihat program di bawah ini yang ditulis dalam Java.
Gambar 01: Overloading
Menurut program di atas, objek tipe A dibuat. Saat memanggil obj.sum (); itu akan memberikan output terkait dengan metode jumlah (). Saat memanggil obj.sum (2,3); itu akan memberikan output terkait dengan jumlah (int a, int b). Dapat diamati bahwa objek yang sama memiliki perilaku yang berbeda tergantung pada situasinya. Ketika ada beberapa metode dengan nama yang sama, tetapi dengan parameter yang berbeda, itu dikenal sebagai kelebihan beban. Ia juga dikenal sebagai mengikat statis atau kompilasi polimorfisme waktu.
Tipe lain dari Polimorfisme adalah utama. Lihat program di bawah ini yang ditulis dalam Java.
Gambar 02: Mengesampingkan
Menurut program di atas, ada tampilan metode () di kelas A. Kelas B memanjang dari kelas A. Oleh karena itu, semua metode di kelas A dapat diakses oleh kelas B. Itu adalah warisan. Konsep warisan dijelaskan lebih lanjut kemudian.
Kelas B juga memiliki tampilan metode yang sama (). Saat membuat objek tipe A dan memanggil metode tampilan, output akan memberikan B. Metode tampilan Kelas A ditimpa oleh metode tampilan kelas B. Jadi, outputnya adalah B.
Ketika ada metode dengan nama dan parameter yang sama tetapi dalam dua kelas yang berbeda, dan mereka terkait dengan warisan itu dikenal sebagai mengesampingkan. Ia juga dikenal sebagai Mengikat terlambat, Pengikatan Dinamis, Polimorfisme Runtime. Overloading dan overriding disebut sebagai Polimorfisme. Ini adalah konsep utama dalam Pemrograman Berorientasi Objek.
Lihat program di bawah ini yang ditulis dalam Java.
Gambar 03: Contoh Warisan
Menurut program di atas, kelas A memiliki metode jumlah () dan kelas B memiliki metode sub ().
Metode sum () dari kelas A dapat digunakan di kelas B menggunakan kata kunci extended. Menggunakan kembali properti dan metode di kelas yang ada untuk membuat kelas baru dikenal sebagai Warisan. Bahkan tidak ada metode sum () di kelas B; itu diwarisi dari kelas A. Warisan berguna untuk dapat digunakan kembali kode. Kelas yang lebih tua disebut kelas dasar, superclass atau kelas induk. Kelas turunannya disebut subkelas atau kelas anak.
Ada berbagai jenis warisan. Mereka adalah Warisan Tingkat Satu, Warisan Multi Tingkat, Warisan Ganda, Warisan Hierarkis dan Warisan Hibrid.
Dalam Warisan Tunggal, ada satu kelas super dan satu sub kelas. Jika kelas A adalah kelas super dan kelas B adalah sub kelas, semua properti dan metode kelas A dapat diakses oleh kelas B. Hanya ada satu tingkat; oleh karena itu, ini disebut sebagai pewarisan tingkat tunggal.
Dalam Multi-Level Inheritance ada tiga tingkatan kelas. Kelas menengah mewarisi dari kelas super. Sub kelas mewarisi dari kelas menengah. Jika ada tiga kelas sebagai A, B dan C dan A adalah kelas super dan B adalah kelas menengah. Kemudian B mewarisi dari A dan C mewarisi dari B, itu adalah Warisan Multi-Level.
Dalam Multiple Inheritance, ada banyak kelas super dan satu sub kelas. Jika ada tiga kelas super yang disebut A, B, C dan D adalah sub kelas, maka kelas D dapat mewarisi dari A, B dan C. Multiple Inheritance didukung dalam bahasa pemrograman C ++. Itu tidak didukung dalam bahasa pemrograman seperti Java atau C #. Antarmuka digunakan untuk mengimplementasikan Multiple Inheritance dalam bahasa-bahasa ini.
Jika ada kelas yang disebut A sebagai kelas super dan B, C adalah sub kelas, sub kelas tersebut dapat mewarisi properti dan metode kelas A. Jenis warisan semacam itu dikenal sebagai Hierarchical Inheritance.
Ada jenis pewarisan khusus lainnya yang dikenal sebagai Hibrida Inheritance. Ini adalah kombinasi dari warisan multi-level dan multipel. Jika A, B, C dan D adalah kelas dan B mewarisi dari A dan D mewarisi dari kedua B dan C, maka itu adalah warisan Hybrid.
Polimorfisme vs Warisan di OOP | |
Polimorfisme adalah kemampuan suatu objek untuk berperilaku dalam berbagai cara. | Warisan adalah membuat kelas baru menggunakan properti dan metode dari kelas yang ada. |
Pemakaian | |
Polimorfisme digunakan untuk objek yang memanggil bentuk metode mana pada waktu kompilasi dan runtime. | Warisan digunakan untuk penggunaan kembali kode. |
Penerapan | |
Polimorfisme diimplementasikan dalam metode. | Warisan diimplementasikan di kelas. |
Kategori | |
Polimorfisme dapat dibagi menjadi overloading dan overriding. | Warisan dapat dibagi menjadi satu tingkat, multi-level, hierarkis, hybrid, dan multiple inheritance. |
Polimorfisme dan Warisan adalah konsep utama dalam Pemrograman Berorientasi Objek. Perbedaan antara Polimorfisme dan Warisan dalam OOP adalah bahwa Polimorfisme adalah antarmuka umum untuk berbagai bentuk dan Warisan adalah untuk membuat kelas baru menggunakan properti dan metode dari kelas yang ada. Kedua konsep tersebut banyak digunakan dalam Pengembangan Perangkat Lunak.
Anda dapat mengunduh versi PDF dari artikel ini dan menggunakannya untuk tujuan offline sesuai catatan kutipan. Silakan unduh versi PDF di sini Perbedaan Antara Polimorfisme dan Warisan dalam OOP