C # čiastočná trieda a čiastočná metóda (s príkladmi)

V tomto článku sa dozvieme, ako a prečo sa čiastočná trieda a čiastkové metódy implementujú v C #.

Existuje mnoho situácií, kedy budete musieť rozdeliť definíciu triedy, napríklad pri práci na rozsiahlych projektoch môže byť potrebné, aby na jednej triede pracovalo súčasne viac vývojárov a programátorov. V takom prípade môžeme použiť funkciu s názvom Čiastočná trieda .

Úvod do čiastočnej triedy

Počas programovania v C # (alebo OOP) môžeme definíciu triedy rozdeliť na dva alebo viac zdrojových súborov. Zdrojové súbory obsahujú časť definície triedy a pri kompilácii aplikácie sa kombinujú všetky časti. Na rozdelenie definície triedy musíme použiť partialkľúčové slovo.

Príklad 1:

Máme projekt nazvaný ako, HeightWeightInfoktorý zobrazuje výšku a váhu.

Máme súbor pomenovaný ako File1.csčiastočná trieda pomenovaná ako Záznam. Má dve celočíselné premenné h & w a metódu / konštruktor s názvom Record, ktorý priraďuje hodnoty h & w.

 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; ) ) )

Tu je ďalší súbor s názvom File2.cs s rovnakou čiastkovou triedou Record, ktorý má iba metódu PrintRecord. Táto metóda zobrazí hodnoty h & w.

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

Tu teraz vidíme hlavnú metódu projektu:

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

Tu máme objekt triedy Record ako myRecord, ktorý odovzdáva hodnoty parametrov ako 10 a 15 do h a w príslušne k metóde definovanej v File1.cs.

Metódu PrintRecord volá objekt myRecord, ktorý je definovaný v File2.cs.

To ukazuje, že partialkľúčové slovo pomáha kombinovať všetky atribúty triedy definované v rôznych súboroch a pracovať ako jedna trieda.

Miesta, kde partialje možné vyučovať:

  1. Pri práci na väčších projektoch s viac ako jedným vývojárom pomáha vývojárom pracovať súčasne na rovnakej triede.
  2. Kódy je možné do triedy pridávať alebo upravovať bez nutnosti opätovného vytvárania zdrojových súborov, ktoré sa automaticky generujú v prostredí IDE (tj. Visual Studio).

Čo by ste si mali pamätať o čiastočnej triede

partialKľúčové slovo uvedené, že iné časti triedy môžu byť definované v mennom priestore. Ak sa snažíme, aby bola trieda čiastočná, je nevyhnutné použiť kľúčové slovo Partial. Všetky časti triedy by mali byť v rovnakom mennom priestore a mali by byť k dispozícii v čase kompilácie, aby vytvorili konečný typ. Všetky časti musia mať rovnaký modifikátor prístupu, tj. Súkromný, verejný atď.

  • Ak je ktorákoľvek časť vyhlásená za abstraktnú, potom sa za abstraktný považuje celý jej typ.
  • Ak je ktorákoľvek časť vyhlásená za zapečatenú, potom sa za zapečatený považuje celý typ.
  • Ak ktorákoľvek časť deklaruje základný typ, potom celú triedu dedí táto trieda.
  • Každý člen triedy deklarovaný v čiastočnej definícii je k dispozícii pre všetky ostatné časti.
  • Všetky časti čiastočnej triedy by mali byť v rovnakom mennom priestore.

** Poznámka:partial modifikátor nie je k dispozícii u delegáta alebo zoznamu vyhlásení

Úvod do čiastkových metód

Čiastočná trieda môže obsahovať čiastočnú metódu. Jedna časť triedy obsahuje podpis metódy. V tej istej alebo inej časti môže byť definovaná voliteľná implementácia. Ak implementácia nie je poskytnutá, metóda a všetky volania sa odstránia v čase kompilácie.

Príklad 2:

Zoberme si príklad ako čiastočnú triedu Cardefinovanú, file1.csktorá má tri metódy InitializeCar (), BuildRim () a BuildWheels (). Medzi týmito metódami je InitializeCar definovaná ako partial.

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

A máme ďalší súbor s názvom, file2.csktorý má dve metódy BuildEngine a InitializeCar. Metóda InitializeCar je čiastočná metóda, ktorá je tiež definovaná v file1.cs.

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

Čiastočné vyhlásenie o metóde sa skladá z dvoch častí:

  1. Definícia ako v file1.cs.
  2. Implementácia ako v file2.cs.

Môžu byť v samostatných častiach čiastočnej triedy alebo v tej istej časti.

Na čo treba pamätať pri čiastočnej metóde

  • partial kľúčové slovo.
  • návratový typ void .
  • implicitne private.
  • a nemôže byť virtual.

Zaujímavé články...