Cara Menggunakan Warisan di C#

Cara Menggunakan Warisan Di C



Saat menulis kode dalam bahasa pemrograman berorientasi objek, kita mungkin menemukan situasi di mana kita perlu menggunakan kembali kode yang ada di kelas baru atau menambahkan fungsionalitas tambahan ke kelas yang sudah ada. Dalam kasus seperti itu, warisan sangat berguna. Warisan dalam pemrograman berorientasi objek memungkinkan kelas mewarisi properti dan perilaku kelas lain. Artikel ini membahas penggunaan pewarisan dalam C# dan berbagai jenisnya.

Daftar isi

Apa itu Warisan di C #

Bagaimana Warisan Bekerja di C#







Jenis Warisan di C #



Kesimpulan



Apa itu Warisan di C #

Dalam C# menggunakan pewarisan, satu kelas dapat mengambil atau mewarisi properti dan metode dari kelas lain. Dengan kata lain, ini memungkinkan pembuatan kelas baru berdasarkan kelas yang sudah ada, yang dikenal sebagai kelas dasar atau kelas super. Kelas yang terbentuk setelah mengambil properti dari kelas dasar disebut kelas turunan atau subkelas.





Kelas turunan di C# ini tidak hanya mengambil properti dari kelas dasar tetapi juga dapat menambahkan fitur uniknya sendiri.

Bagaimana Warisan Bekerja di C #

Di C #, pewarisan dicapai melalui penggunaan titik dua (:) simbol. Nama kelas dasar didefinisikan setelah titik dua, dan ditentukan oleh kelas turunan.



Berikut ini adalah sintaks untuk membuat kelas turunan yang mengambil properti dari kelas dasar:

kelas DerivedClass : Kelas Dasar

{

// anggota kelas turunan

}

Di sini, di kode ini, DerivedClass adalah nama kelas turunan, dan Kelas Dasar adalah nama kelas dasar. Itu : simbol menunjukkan bahwa DerivedClass mewarisi dari BaseClass. Anggota DerivedClass dapat mengakses anggota BaseClass, asalkan tidak bersifat pribadi.

Jenis Warisan di C#

C# mendukung empat jenis pewarisan: pewarisan tunggal, multi-level, hierarkis, dan ganda. Mari kita lihat masing-masing jenis.

Warisan Tunggal

Warisan tunggal adalah jenis pewarisan yang paling umum, di mana kelas turunan mengambil atau mewarisi properti hanya dari satu kelas dasar.

Misalnya, kode yang diberikan menjelaskan hierarki kelas dan mendemonstrasikan konsep pewarisan.

menggunakan Sistem ;

menggunakan Sistem ;
Mobil kelas
{
publik ruang kosong Awal ( )
{
Menghibur. WriteLine ( 'Mobil mulai' ) ;
}
}
kelas Tesla : Mobil
{
publik ruang kosong Mempercepat ( )
{
Menghibur. WriteLine ( 'Tesla berakselerasi' ) ;
}
}
Program kelas
{
statis ruang kosong Utama ( rangkaian [ ] argumen )
{
Tesla myTesla = Tesla baru ( ) ;
myTesla. Awal ( ) ; // Output: Mobil dihidupkan
myTesla. Mempercepat ( ) ; // Keluaran: Akselerasi Tesla
}
}

Pada kode di atas, file Kelas mobil adalah kelas dasar dan memiliki metode yang disebut Awal() , yang hanya mencetak pesan Mobil dimulai ke konsol.

Itu kelas Tesla diturunkan dari kelas Mobil, dan mengambil semua properti dari kelas Mobil. Kelas Tesla menambahkan metode yang disebut Mempercepat() , yang mencetak pesan Akselerasi Tesla ke konsol.

Itu Utama() fungsi mendefinisikan sebuah instance dari kelas Tesla disebut myTesla dan memanggil metode Start() dan Accelerate() nya.

Warisan Multi-level

Warisan multi-level adalah tempat kelas turunan mewarisi dari kelas turunan lain, yang pada gilirannya mewarisi dari kelas dasar.

Misalnya, kode C# berikut mendemonstrasikan pewarisan dan penggantian metode dalam hierarki kelas.

menggunakan Sistem ;
kelas Hewan
{
publik ruang kosong Makan ( )
{
Menghibur. WriteLine ( 'Makan hewan' ) ;
}
}
kelas Mamalia : Satwa
{
publik ruang kosong Berlari ( )
{
Menghibur. WriteLine ( 'mamalia berlari' ) ;
}
}
Anjing kelas : Mamalia
{
publik ruang kosong Kulit pohon ( )
{
Menghibur. WriteLine ( 'Anjing menggonggong' ) ;
}
}
Program kelas
{
statis ruang kosong Utama ( rangkaian [ ] argumen )
{
Anjing anjingku = Anjing baru ( ) ;
anjingku. Makan ( ) ; // Keluaran: Pemakan hewan
anjingku. Berlari ( ) ; // Keluaran: Mamalia berjalan
anjingku. Kulit pohon ( ) ; // Keluaran: Anjing menggonggong
}
}

Di Sini Anjing adalah kelas turunan yang mewarisi dari Mamalia , yang pada gilirannya mewarisi dari Satwa . Kelas Anjing memiliki akses ke semua properti, metode, dan perilaku Mamalia dan Hewan, dan juga dapat menentukan metode uniknya sendiri Kulit pohon() .

Itu Kelas hewan adalah kelas dasar dan memiliki metode yang disebut Makan() , yang hanya mencetak pesan Makan hewan ke konsol.

Itu Kelas mamalia diturunkan dari kelas Hewan dan menambahkan metode yang disebut Berlari() , yang mencetak pesan Mammal berjalan ke konsol.

Itu Kelas anjing diturunkan dari kelas Mammal dan menambahkan metode yang disebut Kulit pohon() , yang mencetak pesan Anjing menggonggong ke konsol.

Metode Main() membuat turunan dari kelas Anjing yang dipanggil anjingku dan memanggil metode Eat(), Run(), dan Bark().

Perhatikan bahwa metode Eat() dan Run() tidak didefinisikan dalam kelas Anjing, tetapi diwariskan dari kelas induknya Satwa Dan Mamalia , masing-masing. Itu Kulit pohon() metode hanya didefinisikan dalam kelas Anjing.

  Teks
Deskripsi dihasilkan secara otomatis

Warisan Hirarkis

Dalam pewarisan hirarkis, jumlah kelas turunan yang berbeda diwariskan hanya dari satu kelas dasar. Misalnya:

menggunakan Sistem ;
Bentuk kelas
{
publik ruang kosong Menggambar ( )
{
Menghibur. WriteLine ( 'Menggambar bentuk' ) ;
}
}
Lingkaran kelas : Membentuk
{
publik ruang kosong Mengisi ( )
{
Menghibur. WriteLine ( 'Mengisi lingkaran' ) ;
}
}
kelas persegi : Membentuk
{
publik ruang kosong Warna ( )
{
Menghibur. WriteLine ( 'Mewarnai kotak' ) ;
}
}
Program kelas
{
statis ruang kosong Utama ( rangkaian [ ] argumen )
{
Lingkari Lingkaranku = Lingkaran baru ( ) ;
myCircle. Menggambar ( ) ; // Keluaran: Menggambar bentuk
myCircle. Mengisi ( ) ; // Output: Mengisi lingkaran

Kuadratkan persegiku = alun-alun baru ( ) ;
kotakku. Menggambar ( ) ; // Keluaran: Menggambar bentuk
kotakku. Warna ( ) ; // Keluaran: Mewarnai kotak
}
}

Dalam kode di atas, keduanya Lingkaran Dan Persegi adalah kelas turunan yang mewarisi dari Membentuk . Mereka memiliki akses ke metode Draw() yang ditentukan dalam Shape dan juga dapat menentukan metode unik mereka sendiri Fill() dan Color().

Di sini kami membuat objek dari kelas Lingkaran bernama myCircle dan objek dari Persegi kelas bernama kotakku . Kami kemudian memanggil Menggambar() metode, yang diwarisi dari kelas Shape, pada kedua objek.

Selanjutnya, kita memanggil Mengisi() metode di myCircle, yang khusus untuk kelas Circle, dan Warna() metode di mySquare, yang khusus untuk kelas persegi.

Output akan dicetak ke konsol seperti di bawah ini:

  Teks
Deskripsi dihasilkan secara otomatis dengan keyakinan sedang

Beberapa Warisan

Warisan berganda adalah tempat kelas turunan mewarisi dari beberapa kelas dasar. Namun, C# tidak mendukung pewarisan berganda. Untuk mencapai fungsi serupa, C# menggunakan antarmuka .

Kesimpulan

Pewarisan dalam C# memungkinkan kelas mewarisi perilaku dan fungsionalitas dari kelas dasar. Dengan menggunakan pewarisan, kita dapat menggunakan kembali kode dan membuat aliran hierarkis di dalam program. Dengan memahami berbagai jenis pewarisan, seseorang dapat menulis kode yang lebih efisien dan terorganisir yang lebih mudah dipelihara dan diperluas.