C # částečná třída a částečná metoda (s příklady)

V tomto článku se budeme učit o tom, jak a proč jsou v C # implementovány částečné třídy a částečné metody.

Existuje mnoho situací, kdy budete muset rozdělit definici třídy, například když pracujete na projektech ve velkém měřítku, může být potřeba, aby více vývojářů a programátorů pracovalo na stejné třídě současně. V tomto případě můžeme použít funkci nazvanou Partial Class .

Úvod do částečné třídy

Při programování v C # (nebo OOP) můžeme definici třídy rozdělit na dva nebo více zdrojových souborů. Zdrojové soubory obsahují část definice třídy a všechny části se při kompilaci aplikace kombinují. Pro rozdělení definice třídy musíme použít partialklíčové slovo.

Příklad 1:

Máme projekt pojmenovaný jako, HeightWeightInfokterý zobrazuje výšku a hmotnost.

Máme soubor pojmenovaný jako File1.css částečnou třídou pojmenovanou jako Záznam. Má dvě celočíselné proměnné h & w a metodu / konstruktor pojmenovaný jako Record, který přiřazuje 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; ) ) )

Zde je další soubor s názvem File2.cs se stejnou částečnou třídou Record, která má pouze metodu PrintRecord. Tato metoda zobrazí hodnoty h & w.

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

Zde nyní vidíme hlavní metodu projektu:

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

Zde máme objekt třídy Record jako myRecord, který předává hodnoty parametrů jako 10 a 15 na h a w příslušně k metodě definované v File1.cs.

Metodu PrintRecord volá objekt myRecord, který je definován v File2.cs.

To ukazuje, že partialklíčové slovo pomáhá kombinovat všechny atributy třídy definované v různých souborech, aby fungovaly jako jedna třída.

Místa, kde partiallze třídu použít:

  1. Při práci na větších projektech s více než jedním vývojářem pomáhá vývojářům pracovat na stejné třídě současně.
  2. Kódy lze do třídy přidávat nebo upravovat bez opětovného vytváření zdrojových souborů, které jsou automaticky generovány IDE (tj. Visual Studio).

Co je třeba pamatovat na částečnou třídu

partialKlíčové slovo uvedeno, že jiné části třídy mohou být definovány ve jmenném prostoru. Pokud se snažíme, aby byla třída částečná, je nutné použít klíčové slovo částečné. Všechny části třídy by měly být ve stejném oboru názvů a měly by být k dispozici v době kompilace pro vytvoření konečného typu. Všechny části musí mít stejný modifikátor přístupu, tj. Soukromý, veřejný atd.

  • Pokud je jakákoli část deklarována jako abstraktní, pak je celý typ považován za abstraktní.
  • Pokud je některá část prohlášena za zapečetěnou, pak je celý typ považován za zapečetěný.
  • Pokud kterákoli část deklaruje základní typ, pak celý typ zdědí tuto třídu.
  • Libovolný člen třídy deklarovaný v částečné definici je k dispozici všem ostatním částem.
  • Všechny části částečné třídy by měly být ve stejném oboru názvů.

** Poznámka:partial modifikátor není k dispozici u delegáta nebo výčtu prohlášení

Úvod do dílčích metod

Částečná třída může obsahovat částečnou metodu. Jedna část třídy obsahuje podpis metody. Volitelnou implementaci lze definovat ve stejné části nebo jiné části. Pokud implementace není zadána, pak se metoda a všechna volání odstraní v době kompilace.

Příklad 2:

Vezměme si příklad jako částečnou třídu Cardefinovanou, file1.cskterá má tři metody InitializeCar (), BuildRim () a BuildWheels (). Mezi těmito metodami je InitializeCar definována jako partial.

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

A máme další soubor pojmenovaný jako, file2.cskterý má dvě metody BuildEngine a InitializeCar. Metoda InitializeCar je částečná metoda, která je také definována v file1.cs.

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

Částečná deklarace metody se skládá ze dvou částí:

  1. Definice jako v file1.cs.
  2. Implementace jako v file2.cs.

Mohou být v samostatných částech dílčí třídy nebo ve stejné části.

Na co je třeba pamatovat při částečné metodě

  • partial klíčové slovo.
  • návratový typ void .
  • implicitně private.
  • a nemůže být virtual.

Zajímavé články...