C # Részleges osztály és részleges módszer (példákkal)

Ebben a cikkben megtudjuk, hogyan és miért lehet a részleges osztályokat és a részleges módszereket megvalósítani a C # nyelven.

Sok helyzetben előfordulhat, hogy szét kell osztani egy osztálydefiníciót, például nagyszabású projekteknél több fejlesztőnek és programozónak kell dolgoznia ugyanazon az osztályon egyszerre. Ebben az esetben használhatjuk a Partial Class nevű funkciót .

Bevezetés a részleges osztályba

A C # (vagy OOP) programozás során feloszthatjuk az osztály definícióját két vagy több forrásfájlra. A forrásfájlok tartalmazzák az osztály definíciójának egy szakaszát, és az alkalmazás összeállításakor az összes részt egyesítik. Az osztálydefiníció felosztásához a partialkulcsszót kell használnunk .

1. példa:

Van egy projektünk, HeightWeightInfoamelynek neve magasság és súly.

Van egy fájlunk, File1.csamelynek neve egy részleges osztály, amelynek neve Record. Két egész h & w változóval és egy Record nevű módszerrel / konstruktorral rendelkezik, amely hozzárendeli a h & w értékeit.

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

Itt van egy másik File2.cs nevű fájl, ugyanazzal a részleges osztályrekorddal, amelynek csak a PrintRecord metódusa van. Ez a módszer a h & w értékeit jeleníti meg.

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

Itt láthatjuk a projekt fő módszerét:

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

Itt van a Record osztály objektuma, mint myRecord, amely a 10-es és 15-ös paraméterértékeket átadja h-nek, illetve w-nek a metódusban definiált módszernek File1.cs.

A PrintRecord metódust a. Fájlban definiált myRecord objektum hívja meg File2.cs.

Ez azt mutatja, hogy a partialkulcsszó segít a különféle fájlokban definiált osztály összes attribútumának egyesítésében, hogy egyetlen osztályként működjenek.

Helyek, ahol az partialosztály használható:

  1. Miközben egy nagyobb projektnél több fejlesztővel dolgozik, ez segíti a fejlesztőket abban, hogy egyazon osztályon dolgozzanak.
  2. A kódok hozzáadhatók vagy módosíthatók az osztályhoz anélkül, hogy újra létrehoznák az IDE által automatikusan generált forrásfájlokat (pl. Visual Studio).

Emlékezetes dolgok a részleges osztályról

A partialkulcsszó megadja, hogy az osztály más részei megadhatók a névtérben. Kötelező használni a részleges kulcsszót, ha egy osztályt próbálunk részlegesé tenni. Az osztály minden részének ugyanabban a névtérben kell lennie, és fordításkor rendelkezésre kell állnia a végleges típus kialakításához. Valamennyi alkatrésznek azonos hozzáférés-módosítóval kell rendelkeznie, azaz privát, nyilvános stb.

  • Ha valamelyik részt absztraktnak nyilvánítjuk, akkor az egész típust absztraktnak tekintjük.
  • Ha valamelyik részt lezártnak nyilvánítják, akkor az egész típust lezártnak tekintik.
  • Ha bármelyik rész deklarál egy alaptípust, akkor az egész típus örökli ezt az osztályt.
  • A részleges meghatározásban deklarált osztálytagok az összes többi rész számára elérhetőek.
  • A részosztály összes részének ugyanabban a névtérben kell lennie.

** Megjegyzés: A partialmódosító nem áll rendelkezésre delegált vagy felsorolási nyilatkozatokban

Bevezetés a részleges módszerekbe

A részosztály tartalmazhat részleges módszert is. Az osztály egyik része tartalmazza a módszer aláírását. Opcionális megvalósítás meghatározható ugyanabban a részben vagy egy másik részben. Ha a megvalósítás nincs megadva, akkor a metódust és az összes hívást a fordításkor eltávolítjuk.

2. példa:

Vegyünk egy példát Cardefiniált file1.csrészosztályként , amelyben három metódus van: InitializeCar (), BuildRim () és BuildWheels (). E módszerek között az InitializeCar a következő partial.

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

És van egy másik fájlunk, file2.csamelynek neve két módszer: BuildEngine és InitializeCar. Az InitializeCar módszer részleges módszer, amelyet a file1.cs.

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

A részleges módszer-deklaráció két részből áll:

  1. A meghatározás, mint a file1.cs.
  2. A végrehajtás, ahogyan a file2.cs.

Lehetnek a részosztály külön részeiben vagy ugyanabban a részben.

A részleges módszerről emlékezetes dolgok

  • partial kulcsszó.
  • visszatérési típus void .
  • hallgatólagosan private.
  • és nem lehet virtual.

érdekes cikkek...