Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Warisan dalam C#

Warisan dalam C#

王林
王林asal
2024-09-03 15:18:441077semak imbas

Warisan dalam C# ialah proses memperoleh semua sifat satu kelas ke dalam kelas lain. Terdapat dua kelas yang dirujuk sebagai kelas asas dan kelas terbitan. Kelas asas juga dikenali sebagai kelas induk dan sifat atau kaedah kelas ini kita mahu warisi kepada kelas lain.

Kelas terbitan dikenali sebagai kelas anak yang digunakan untuk mewarisi sifat dan kaedah kelas asas atau kelas induk. Ia membantu dalam menggunakan semula kod yang sama sekali lagi dan tidak perlu mentakrifkan sifat yang sama berulang kali.

Warisan ialah salah satu konsep atau atribut asas bahasa pengaturcaraan berorientasikan objek yang berkuasa. Ia digunakan secara meluas dalam semua bahasa pengaturcaraan berasaskan OOP. Tujuan utamanya adalah untuk menggunakan kod yang sama sekali lagi. Contoh Struktur Asas Pewarisan diberikan di bawah:

class BaseClass { }
class ChildClass: BaseClass {}

Jenis Warisan dalam C#

Terdapat pelbagai jenis Warisan dalam C#:

1. Warisan Peringkat Tunggal

Dalam warisan Tunggal, hanya terdapat satu kelas asas dan satu kelas terbitan. Ini bermakna kelas anak akan mewarisi sifat kelas induk dan menggunakannya.

Contoh:

class BaseClass
{
public void hello()
{
Console.WriteLine("Parent's Hello Method");
}
}
class ChildClass : BaseClass
{
public void World()
{
Console.WriteLine("Child's World Method");
}
}

2. Warisan Berbilang Peringkat

Dalam jenis warisan ini, hanya terdapat satu kelas asas dan berbilang kelas terbitan tersedia. Jika kelas dicipta dengan menggunakan kelas terbitan lain dikenali sebagai warisan berbilang peringkat.

Contoh: 

class BaseClass
{
public void hello()
{
Console.WriteLine("Parent's Hello Method");
}
}
class ChildClass : BaseClass
{
public void World()
{
Console.WriteLine("Child's World Method");
}
}
class SecondChildClass : ChildClass
{
public void Hi()
{
}
}

3. Pusaka Berbilang

Dalam jenis warisan ini, ini boleh dicapai dengan bantuan berbilang antara muka, bukan dengan kelas. Dalam kata mudah, C# tidak menyokong berbilang warisan, tetapi jika anda ingin mencapainya, maka ia boleh dicapai dengan bantuan antara muka sahaja.

Contoh:

Interface A {}
Interface B {}
Class C: A, B {}

4. Warisan Hierarki

Dalam jenis warisan ini, terdapat satu kelas induk dan kelas terbitan yang lain mewarisi kelas induk yang sama untuk mencapai warisan ini.

Contoh:

class BaseClass
{
public void hello()
{
Console.WriteLine("Parent's Hello Method");
}
}
class ChildClass : BaseClass
{
public void World()
{
Console.WriteLine("Child's World Method");
}
}
class SecondChildClass : BaseClass
{
public void Hi()
{
}
}

Kelebihan Warisan dalam C#

Di bawah adalah kelebihan Pusaka yang diberikan.

  • Ia membantu dalam menggunakan kod yang sama sekali lagi bermakna kebolehgunaan semula kod.
  • Ia mengurangkan lebihan kod.
  • Ia membantu dalam membaca kod dengan lebih selesa.
  • Ia juga mengurangkan saiz kod sumber dan fail.
  • Ia membantu dalam menyediakan kebolehlanjutan kepada kod.
  • Kod ini mudah diurus kerana ia dibahagikan kepada kelas kelas asas dan kelas kanak-kanak.
  • Ahli persendirian tidak boleh diakses dalam kelas terbitan apabila ahli kelas asas diwarisi oleh kelas terbitan.
  • Ia tidak menyokong berbilang warisan tetapi boleh dicapai melalui antara muka.
  • Ia membantu dalam mencapai polimorfisme yang membolehkan objek mewakili lebih daripada satu jenis.
  • Ia membantu dalam membahagikan kod besar kepada kepingan kecil.

Ciri Warisan

Berikut ialah ciri-ciri Warisan yang diterangkan.

  • Warisan boleh digunakan untuk menghalang instantiasi langsung kelas, dan untuk mencapai ini, kata kunci abstrak telah digunakan.
  • Ahli kelas asas boleh diakses dalam kelas terbitan kecuali ahli kunci persendirian.
  • Ahli kelas asas boleh diwarisi dalam kelas terbitan kecuali pembina dan pemusnah juga.
  • Dalam C#, kaedah maya kelas asas perlu menggunakan kata kunci ganti dalam kelas terbitan.
  • Dalam C#, untuk mengelakkan warisan kelas yang boleh diisytiharkan dengan kata kunci yang dimeterai.
  • Jika ahli yang diwarisi perlu disembunyikan dengan nama dan tandatangan yang sama dalam kelas terbitan, maka kaedah itu perlu ditakrifkan dengan kata kunci baharu.

Mengapa menggunakan Warisan dan Bagaimana ia menjadikannya mudah untuk berfungsi?

Warisan digunakan apabila kod yang sama perlu digunakan dalam kelas lain. Jadi, daripada menulis kod yang sama, berulang kali, terdapat konsep pengaturcaraan berorientasikan objek iaitu Warisan yang membantu dalam menggunakan fungsi yang sama seperti kaedah atau sifat satu kelas ke kelas lain. Dengan bantuan koma bertitik (:), kita boleh mewarisi ahli kelas asas kepada kelas anak atau kelas terbitan.

Ia memudahkan kerja kerana ia membantu dalam mengelakkan kekeliruan kaedah panggilan dari mana kaedah kelas dipanggil. Ia menjadikan kod kebolehgunaan semula dan menjadikan fail lebih ringan dalam berat dengan kurang bilangan baris kod sumber. Ini menjadikan kod kurang berlebihan dan lebih fleksibel untuk digunakan dalam kelas yang berbeza. Ia mengekalkan struktur program yang membantu dalam membaca kod dengan mudah.

Kesimpulan

  • Warisan ialah konsep pengaturcaraan berorientasikan objek yang paling banyak digunakan dalam semua bahasa berasaskan OOP dan begitu juga dalam C#. Ia membantu pembangun mencapai banyak perkara dan menjadikan kod lebih lancar dan boleh dibaca.
  • Polymorphism ialah konsep oops lain yang boleh dicapai dengan bantuan Warisan sahaja. Kebanyakan masalah telah diselesaikan dengan kedua-dua konsep ini berjalan seiring.
  • Dalam Warisan, kelas asas dan kelas terbitan digandingkan rapat seolah-olah terdapat sebarang perubahan dalam kelas asas; maka secara automatik, semua kelas kanak-kanak akan terjejas. Warisan perlu digunakan dengan sangat berhati-hati kerana jika ahli data tidak digunakan dengan betul dan memori diperuntukkan kepada mereka, maka ia menjejaskan prestasi aplikasi.
  • Terdapat tahap pewarisan berbeza yang digunakan dalam pengaturcaraan atau pembangunan aplikasi. Ia boleh dilaksanakan dalam sebarang jenis aplikasi seperti aplikasi berasaskan web atau berasaskan desktop. Ia bergantung pada pembangun bagaimana dan di mana untuk menggunakan warisan kerana ia memberikan banyak fleksibiliti, ciri dan membantu untuk mencapai perkara itu.

Atas ialah kandungan terperinci Warisan dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Kunci dalam C#Artikel seterusnya:Kunci dalam C#