C # Daļēja klase un daļēja metode (ar piemēriem)

Šajā rakstā mēs uzzināsim par to, kā un kāpēc daļējas klases un daļējas metodes jāievieš C #.

Ir daudzas situācijas, kad jums var būt nepieciešams sadalīt klases definīciju, piemēram, strādājot pie liela mēroga projektiem, vairākiem izstrādātājiem un programmētājiem var būt nepieciešams strādāt vienā un tajā pašā klasē vienlaikus. Šajā gadījumā mēs varam izmantot funkciju ar nosaukumu Daļēja klase .

Ievads daļējā klasē

Programmējot C # (vai OOP), mēs varam sadalīt klases definīciju divos vai vairāk avota failos. Avota failos ir klases definīcijas sadaļa, un, apkopojot lietojumprogrammu, visas daļas tiek apvienotas. Lai sadalītu klases definīciju, mums jāizmanto partialatslēgvārds.

1. piemērs:

Mums ir projekts, kura nosaukums HeightWeightInfoir augums un svars.

Mums ir fails ar nosaukumu File1.csdaļēja klase ar nosaukumu Record. Tam ir divi veseli skaitļi h & w un metode / konstruktors ar nosaukumu Record, kas piešķir h & w vērtības.

 namespace HeightWeightInfo ( class File1 ( ) public partial class Record ( private int h; private int w; public Record(int h, int w) ( this.h = h; this.w = w; ) ) )

Šeit ir vēl viens fails ar nosaukumu File2.cs ar tādu pašu daļējas klases ierakstu, kuram ir tikai metode PrintRecord. Šī metode parādīs h & w vērtības.

 namespace HeightWeightInfo ( class File2 ( ) public partial class Record ( public void PrintRecord() ( Console.WriteLine("Height:"+ h); Console.WriteLine("Weight:"+ w); ) ) )

Šeit tagad mēs varam redzēt projekta galveno metodi:

 namespace HeightWeightInfo ( class Program ( static void Main(string() args) ( Record myRecord = new Record(10, 15); myRecord.PrintRecord(); Console.ReadLine(); ) ) )

Šeit mums ir klases ieraksta objekts kā myRecord, kurš parametru vērtības kā 10 un 15 nodod attiecīgi h un w metodei, kas definēta File1.cs.

Metodi PrintRecord izsauc objekts myRecord, kas definēts File2.cs.

Tas parāda, ka partialatslēgvārds palīdz apvienot visus dažādos failos definētos klases atribūtus, lai tie darbotos kā viena klase.

Vietas, kur partialklasi var izmantot:

  1. Strādājot pie lielākiem projektiem ar vairāk nekā vienu izstrādātāju, tas palīdz izstrādātājiem vienlaikus strādāt vienā klasē.
  2. Kodus klasei var pievienot vai modificēt, no jauna neizveidojot avota failus, kurus automātiski ģenerē IDE (ti, Visual Studio).

Lietas, kas jāatceras par daļēju klasi

partialKEYWORD noteikts, ka citas daļas klases var definēt namespace. Daļējs atslēgvārds ir obligāti jāizmanto, ja mēģinām klasi padarīt par daļēju. Visām klases daļām jābūt vienā nosaukumvietā un pieejamām sastādīšanas laikā, lai izveidotu galīgo tipu. Visām daļām ir jābūt vienādam piekļuves modifikatoram, ti, privātajam, publiskajam utt.

  • Ja kāda daļa tiek pasludināta par abstraktu, tad viss tips tiek uzskatīts par abstraktu.
  • Ja kāda daļa tiek pasludināta par noslēgtu, tad viss veids tiek uzskatīts par noslēgtu.
  • Ja kāda daļa deklarē bāzes tipu, tad viss tips pārmanto šo klasi.
  • Jebkurš klases dalībnieks, kas deklarēts daļējā definīcijā, ir pieejams visām pārējām daļām.
  • Visām daļējas klases daļām jābūt vienā nosaukumvietā.

** Piezīme . partialPārveidotājs nav pieejams delegātu vai uzskaitījumu deklarācijās

Ievads daļējās metodēs

Daļējā klasē var būt daļēja metode. Vienā klases daļā ir metodes paraksts. Izvēles ieviešanu var definēt tajā pašā vai citā daļā. Ja ieviešana netiek piegādāta, metode un visi zvani tiek noņemti apkopošanas laikā.

2. piemērs:

Ņemsim piemēru kā Cardefinētu daļēju klasi , file1.cskurā ir trīs metodes InitializeCar (), BuildRim () un BuildWheels (). Starp šīm metodēm InitializeCar ir definēts kā partial.

 public partial class Car ( partial void InitializeCar(); public void BuildRim() ( ) public void BuildWheels() ( ) )

Mums ir vēl viens fails ar nosaukumu, file2.cskuram ir divas metodes BuildEngine un InitializeCar. Metode InitializeCar ir daļēja metode, kas ir definēta arī file1.cs.

 public partial class Car ( public void BuildEngine() ( ) partial void InitializeCar() ( string str = "Car"; ) )

Daļēja metodes deklarācija sastāv no divām daļām:

  1. Definīcija kā file1.cs.
  2. Īstenošana tāpat kā file2.cs.

Tie var būt atsevišķās daļējas klases daļās vai tajā pašā daļā.

Lietas, kas jāatceras par daļēju metodi

  • partial atslēgvārds.
  • atgriešanās veids void .
  • netieši private.
  • un nevar būt virtual.

Interesanti raksti...