Š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 partial
atslēgvārds.
1. piemērs:
Mums ir projekts, kura nosaukums HeightWeightInfo
ir augums un svars.
Mums ir fails ar nosaukumu File1.cs
daļē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 partial
atslēgvārds palīdz apvienot visus dažādos failos definētos klases atribūtus, lai tie darbotos kā viena klase.
Vietas, kur partial
klasi var izmantot:
- 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ē.
- 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
partial
KEYWORD 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 . partial
Pā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ā Car
definētu daļēju klasi , file1.cs
kurā 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.cs
kuram 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:
- Definīcija kā
file1.cs
. - Ī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
.