Apa Warisan Hibrida Dalam C++? Ini Jenis Dengan Contoh
Diterbitkan: 2021-05-27Kami sering menggunakan istilah "Warisan" dalam konteks pemrograman. Ini adalah fitur yang dipraktikkan dalam pemrograman untuk memanfaatkan kembali kode dengan sebaik-baiknya. Jika Anda ingat konsep "IS-A" di OOP (Pemrograman Berorientasi Objek), Anda akan menemukannya didasarkan pada fitur Warisan. Implementasi pewarisan akan membantu Anda mendapatkan ide proyek lanjutan di C++.
Daftar isi
Apa itu Warisan?
Dalam proses Inheritance, objek dari satu kelas memperoleh properti dan perilaku kelas lain. Di sini kelas baru diturunkan dari kelas dasar yang ada. Kelas anggota yang diturunkan biasanya disebut kelas anak dan anggota kelas dasar dari kelas induk. Setelah kelas anak diturunkan, ia mewarisi semua properti dan metode dari kelas induk.
Selain itu, kelas anak dapat memiliki properti dan metode eksklusif yang ditujukan untuk suatu tujuan. Fitur tambahan yang ditambahkan secara lokal ke kelas yang ada tidak akan memengaruhi properti yang diwarisi dari kelas induk. Dengan demikian, kelas baru akan memiliki fitur gabungan dari kedua kelas.
Warisan dalam C++
Seringkali, pada kenyataannya, seorang programmer perlu mengembangkan objek yang harus:
1) memiliki semua kualitas induknya, dan selain itu,
2) dalam beberapa aspek, ketekunan itu istimewa.
Pengkodean properti luar biasa seperti itu di kelas utama belum tentu praktis dan ekonomis. Dalam hal ini, kelas baru diturunkan dengan memperluas kelas dasar. Juga, menurunkannya dari kelas lain yang memiliki kualitas tambahan. Dengan cara ini, Anda dapat menggunakan kembali, memperluas, atau memodifikasi atribut dan perilaku yang didefinisikan di kelas lain. Dengan demikian kelas anak yang diturunkan dari beberapa kelas memberikan objek yang mudah dipelihara dan di-port. Kelas turunan adalah kelas khusus untuk kelas dasar.
Secara teknis, kata kunci "memperluas" digunakan untuk mewarisi kelas. C++ menggunakan simbol titik dua (“ : ”) untuk mewarisi dari kelas.
Jenis Warisan
Penggunaan kombinasi pewarisan dan implementasi berbeda untuk tujuan turunan kelas. Ada berbagai jenis warisan yang tersedia di C++, seperti yang tercantum di bawah ini:
- Warisan Tunggal adalah tempat kelas turunan mewarisi properti dan perilaku dari kelas dasar tunggal. Contoh: Kelas A → Kelas B.
- Hierarchical Inheritance adalah di mana lebih dari satu kelas turunan dibuat dari satu kelas dasar. Contoh: Kelas A → Kelas B → Kelas C.
- Multiple Inheritance adalah untuk menurunkan kelas dari beberapa kelas dasar. Di sini, objek anak yang dibuat oleh programmer akan menggabungkan aspek karakteristik dan fitur dari beberapa kelas induk. Objek-objek ini mengikuti hierarki kelas dasar mereka.
- Warisan Multilevel adalah tempat kelas anak diturunkan dari kelas turunan lainnya. Fitur ini membawa aspek gabungan dari beberapa kelas dan mengikuti hierarki mereka.
- Hybrid Inheritance adalah fitur heterogen menggunakan multiple inheritance. Di sini kelas anak diturunkan dari satu atau lebih kombinasi pewarisan tunggal, hierarkis, dan bertingkat. Warisan ini diadopsi untuk program untuk mencampur berbagai jenis warisan; misalnya, ketika mencampur satu warisan dengan banyak warisan atau mungkin situasi ketika banyak warisan dicampur dalam satu program.
Contoh Sederhana
Di sini Kelas B dan Kelas C keduanya diturunkan dari kelas dasar, Kelas A.
Klasifikasi hierarki Mobil menunjukkan dua kelas. Baik "Mobil Bensin" dan "Mobil Listrik" berasal dari Kelas 'Mobil dasar.
Warisan Hibrida Dalam C++
Mungkin ada situasi di mana kita perlu menerapkan dua atau lebih jenis pewarisan yang digabungkan untuk merancang sebuah program. Ketika sebuah program melibatkan lebih dari satu jenis pewarisan, itu disebut Warisan Hibrida.
Warisan hibrida adalah kombinasi dari pewarisan sederhana, pewarisan berganda, dan pewarisan hierarkis. Biasanya, dalam multiple inheritance, sebuah kelas diturunkan dari dua kelas di mana salah satu kelas induknya juga merupakan kelas turunan dan bukan kelas dasar.
Warisan hibrida dalam C++ adalah pewarisan di mana sebuah kelas diturunkan dari lebih dari satu bentuk atau kombinasi dari pewarisan apa pun. Warisan hybrid dalam C++ juga disebut pewarisan multipath, di mana satu kelas turunan dapat mewarisi properti kelas dasar di jalur yang berbeda. Kadang juga disebut pewarisan multipath. Misalnya, ini dapat dicapai dengan kombinasi pewarisan bertingkat dan hierarkis.
Singkatnya, pewarisan hibrida adalah kombinasi dari dua atau lebih jenis pewarisan. Misalnya, dengan menerapkan pewarisan tunggal dan bertingkat dalam program yang sama.
Diagram Blok Warisan Hibrida
Diagram mewakili kombinasi hibrida dari dua warisan; pewarisan tunggal dan pewarisan ganda. Di sini, dalam pewarisan tunggal, kelas B diturunkan dari kelas A . Demikian pula, dalam banyak pewarisan, Kelas D diwarisi dari banyak kelas. Di sini kelas B dan kelas C. Jadi, campuran pewarisan tunggal dan pewarisan ganda membentuk pewarisan hibrida.
Warisan hibrida berlaku dalam skenario di mana kita diminta untuk menerapkan lebih dari satu warisan dalam sebuah program.
Sintaks Warisan Hibrida Dalam C++
Sintaks dan semantik tipikal untuk pewarisan hibrida di C++ akan mengikuti seperti yang diilustrasikan di bawah ini:
Contoh Warisan Hibrida Dalam C++
Contoh 1: Warisan Tunggal + Ganda
Mari kita lihat bagaimana pewarisan tunggal dan ganda diimplementasikan.
Setiap blok dalam diagram ini mewakili kelas, dan panah yang sesuai adalah pewarisan kelas.
Contoh 2: Warisan Tunggal + Multilevel
Kami juga dapat menerapkan jenis warisan lain untuk membentuk warisan hibrida.
Mari kita pertimbangkan contoh waktu nyata .
Kami menurunkan subkelas mobil dari kelas Kendaraan. Kelas lain menjadi ciri Racing. Ketika kita menurunkan entitas akhir, baik dari kelas Mobil dan kelas Balap, itu akan memberikan output gabungan. Turunan ini adalah Ferrari – mobil balap.
Berikut adalah program sederhana untuk menggambarkan konsep pewarisan hibrida dalam C++ .
Kode Sampel
Hasil
Pelajari Kursus pengembangan perangkat lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.
Kesimpulan
Semoga artikel ini membantu Anda untuk memahami konsep dan jenis Hybrid Inheritance di C++ . Siswa dalam aliran komputer dan program yang berhubungan dengan komputasi dapat meningkatkan keterampilan dan kredibilitas teknis mereka, seperti konsep OOP. upGrad menyediakan sumber daya dan basis pengetahuan untuk mendorong para profesional tersebut agar memiliki keahlian dalam pemrograman dan bersaing di pasar industri. Di upGrad, Anda juga mendapatkan kesempatan untuk menjelajahi jaringan profesional dan pengembangan keterampilan.
Kami berharap Anda akan memiliki kesempatan belajar yang sangat baik dalam menjalankan proyek-proyek C++ ini. Jika Anda tertarik untuk mempelajari lebih lanjut dan membutuhkan bimbingan dari pakar industri, lihat Program PG Eksekutif upGrad & IIIT Banglore dalam Pengembangan Perangkat Lunak Tumpukan Penuh .
Apa warisan dalam pemrograman berorientasi objek?
Warisan adalah mekanisme penggunaan kembali kode dan membantu dalam mensimulasikan dunia nyata. Ini memperluas konsep abstraksi data di OOP. Ini adalah proses dimana kelas memperoleh properti dari kelas lain. Merupakan hal mendasar dalam OOP bahwa suatu kelas hanya dapat didefinisikan dalam istilah kelas lain. Ini karena konsep abstraksi. Warisan adalah mekanisme yang membuat kelas objek baru dalam hierarki kelas yang sama dengan objek lain. Manfaat utama dari pewarisan adalah penggunaan kembali kode. Ini adalah cara menggunakan kembali kode. Jika Anda memiliki kelas dan melakukan pekerjaan tertentu, Anda dapat menggunakannya untuk pekerjaan lain juga. Katakan saja, mobil dan truk melakukan pekerjaan yang sama, jadi Anda bisa menggunakan kode yang sama untuk mengemudikannya.
Apa 3 cakupan pewarisan dalam C++?
Cakupan pewarisan dalam C++ adalah pribadi, dilindungi, dan publik. Warisan pribadi adalah di mana satu kelas diwarisi dari kelas lain tetapi kelas turunan tidak dapat diakses di luar kelas. Jenis pewarisan ini hanya dapat digunakan ketika kelas dasar tidak dimaksudkan untuk diakses di luar kelas. Warisan yang dilindungi digunakan ketika kelas dasar tidak dimaksudkan untuk diakses di luar kelas dan dimaksudkan untuk diakses di luar kelas. Warisan publik digunakan ketika kelas dasar dimaksudkan untuk diakses di luar kelas.
Apa itu pewarisan berganda dalam C++?
Multiple inheritance adalah kemampuan untuk menurunkan kelas dari lebih dari satu kelas. Fitur ini tidak tersedia di C. Ini adalah salah satu fitur terpenting C++ yang mendukung pemrograman berorientasi objek. Implementasi multiple inheritance di C++ didasarkan pada konsep kelas inheritance. Multiple inheritance merupakan mekanisme yang mendukung model pemrograman berorientasi objek yang dapat digunakan untuk menyelesaikan beberapa masalah, seperti behavioral reuse dan code reuse. Penggunaan kembali kode selalu menjadi masalah di C++, karena C++ hanya memiliki dukungan pewarisan tunggal. Warisan berganda dicapai dengan menggabungkan beberapa antarmuka menjadi sebuah objek.