Apa itu Inheritance Constructor di C++

Apa Itu Inheritance Constructor Di C



Di C++, warisan adalah gagasan kunci dalam pemrograman berorientasi objek. Kelas turunan dapat mewarisi sifat dan perilaku kelas dasar berkat yang kuat warisan kemampuan dalam C++. Kelas turunan segera mewarisi semua anggota kelas dasar saat dibentuk. Penting bagi konstruktor kelas turunan untuk menginisialisasi anggota kelas dasar juga. Di C++, warisan adalah fitur canggih yang memungkinkan pengembang untuk menggunakan kembali kode, meningkatkan efisiensi, dan mengatur kode ke dalam hierarki logis.

Seiring dengan pewarisan, konstruktor juga penting dalam C++. A konstruktor adalah fungsi anggota unik yang memungkinkan Anda menginisialisasi properti objek. Sebuah Konstruktor warisan adalah konstruktor yang digunakan untuk menginisialisasi objek kelas dasar dan kelas turunan yang diwarisi oleh kelas turunan. Itu konstruktor warisan bertanggung jawab untuk menginisialisasi anggota kelas dasar yang diwariskan dan anggota kelas turunan. Untuk mencapai ini, konstruktor memanggil konstruktor kelas dasar, memastikan bahwa semua anggota kelas turunan diinisialisasi dengan benar, termasuk yang diwarisi dari kelas dasar.

Dengan memanggil konstruktor kelas dasar dan meneruskannya ke parameter yang diperlukan, file konstruktor warisan menginisialisasi anggota kelas dasar. Hal ini dicapai dengan menggunakan 'kelas dasar (args)' daftar inisialisasi dalam konstruktor. Instruksi lebih lanjut khusus untuk kelas turunan disediakan di badan konstruktor.







Sintaks untuk pewarisan kelas dalam C++ adalah:



kelas DerivedClass : accessSpecifier BaseClass {
// anggota kelas
} ;

Kelas baru yang dibentuk dalam kasus ini, “Kelas Turunan”, akan mewarisi dari 'Kelas Dasar'. Tingkat akses ke anggota yang diwariskan ditentukan oleh “ accessSpecifier”. C++ menggunakan tiga jenis penentu akses, yaitu 'privasi Umum', Dan 'terlindung' . Kata 'publik' menunjukkan bahwa kelas turunan memiliki akses ke anggota publik kelas dasar. Kelas turunan tidak memiliki akses ke anggota kelas dasar, menurut 'pribadi' penentu. Kelas turunan memiliki akses ke anggota kelas dasar yang dilindungi yang dapat diwarisi oleh kelas anak mereka, menurut 'terlindung' penentu.



Contoh Inheritance di C++

Contoh berikut menunjukkan implementasi dari Warisan di C++:





#termasuk
menggunakan ruang nama std ;

kelas Satwa {
publik :
ruang kosong makan ( ) {
cout << 'Saya bisa makan!' << endl ;
}
ruang kosong tidur ( ) {
cout << 'Aku bisa tidur!' << endl ;
}
} ;
kelas Kucing : publik Satwa {
publik :
ruang kosong meong ( ) {
cout << 'Aku bisa mengeong!' << endl ;
}
} ;
int utama ( ) {
Kucing kucing1 ;
kucing1. makan ( ) ;
kucing1. tidur ( ) ;
kucing1. meong ( ) ;

kembali 0 ;
}

Kode yang diberikan mendefinisikan dua kelas, 'Satwa' Dan 'Kucing' , Di mana 'Kucing' berasal dari 'Satwa' . Kedua kelas memiliki beberapa fungsi anggota, seperti 'makan tidur' , Dan 'meong' . Fungsi utama membuat objek kelas 'Kucing' dan memanggil diwariskan fungsi dari kelas 'Satwa' serta fungsi spesifik dari kelas 'Kucing' , yang 'meong' . Program menampilkan teks ke konsol, yang menunjukkan bahwa kucing dapat makan, tidur, dan mengeong.

Keluaran



Ketika sebuah kelas diturunkan, semua variabel anggota kelas dasar dan fungsi anggota ditransfer ke kelas turunan. Itu diwariskan aksesibilitas anggota di kelas turunan ditentukan oleh penentu akses. Kelas turunan juga dapat menggantikan fitur baru dengan yang sudah ada. Itu dapat menambahkan implementasi baru untuk metode kelas dasar dan menambahkan fungsi dan variabel anggota baru.

Penting untuk diingat bahwa konstruktor warisan harus digunakan untuk secara eksplisit memanggil konstruktor kelas dasar dengan parameter yang diperlukan jika kelas dasar memiliki konstruktor default atau jika tidak tersedia.

Kesimpulan

Fitur kuat dari warisan di C++ memungkinkan kelas untuk menggunakan kembali kode dengan mewarisi karakteristik dan tindakan dari yang lain. Fitur yang berguna dari C++ konstruktor warisan memungkinkan kelas turunan mewarisi properti, metode, dan anggota data dari kelas dasar. Dengan penambahan daftar inisialisasi untuk konstruktor kelas dasar, ini didefinisikan menggunakan sintaks yang sama dengan konstruktor standar. Pemrogram C++ dapat meminimalkan duplikasi kode dan meningkatkan struktur kode dengan memanfaatkan konstruktor warisan . Untuk membuat hierarki kelas yang kompleks dalam pemrograman berorientasi objek, ini adalah alat yang penting.