C # Djelomična klasa i djelomična metoda (s primjerima)

U ovom ćemo članku naučiti kako i zašto se djelomične metode klase i djelomično primjenjuju u C #.

Mnogo je situacija u kojima ćete možda trebati podijeliti definiciju klase, primjerice kada radite na projektima velikih razmjera, više programera i programera možda će trebati raditi na istoj klasi istovremeno. U ovom slučaju možemo koristiti značajku koja se naziva Djelomična klasa .

Uvod u djelomičnu klasu

Dok programiramo na C # (ili OOP), možemo podijeliti definiciju klase na dvije ili više izvornih datoteka. Izvorne datoteke sadrže odjeljak definicije klase i svi se dijelovi kombiniraju kada se aplikacija kompajlira. Za razdvajanje definicije klase trebamo upotrijebiti partialključnu riječ.

Primjer 1:

Imamo projekt nazvan kao HeightWeightInfokoji prikazuje visinu i težinu.

Imamo datoteku nazvanu as File1.css djelomičnom klasom nazvanom Record. Ima dvije cjelobrojne varijable h & w i metodu / konstruktor nazvan Record, koji dodjeljuje vrijednosti 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; ) ) )

Evo još jedne datoteke koja se naziva File2.cs s istom djelomičnom klasom Record koja ima samo metodu PrintRecord. Ova metoda prikazat će vrijednosti v & b.

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

Ovdje sada možemo vidjeti glavnu metodu projekta:

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

Ovdje imamo objekt klase Record kao myRecord koji prenosi vrijednosti parametara kao 10 i 15 na h i w na metodu definiranu u File1.cs.

Metodu PrintRecord poziva objekt myRecord koji je definiran u File2.cs.

To pokazuje da partialključna riječ pomaže kombinirati sve atribute klase definirane u raznim datotekama kako bi radila kao jedna klasa.

Mjesta na kojima se partialnastava može koristiti:

  1. Dok radi na većim projektima s više programera, pomaže programerima da istovremeno rade na istoj klasi.
  2. Kodovi se mogu dodavati ili mijenjati u klasu bez ponovnog stvaranja izvornih datoteka koje automatski generira IDE (tj. Visual Studio).

Stvari koje treba zapamtiti o djelomičnoj klasi

partialKljučnu riječ odredili da drugi dijelovi klase može se definirati u imenski prostor. Obavezno je koristiti djelomičnu ključnu riječ ako pokušavamo razred učiniti djelomičnim. Svi dijelovi klase trebaju biti u istom imenskom prostoru i dostupni u vrijeme sastavljanja kako bi se oblikovao konačni tip. Svi dijelovi moraju imati isti modifikator pristupa, tj. Privatni, javni ili tako dalje.

  • Ako je bilo koji dio proglašen apstraktnim, tada se cijeli tip smatra apstraktnim.
  • Ako je bilo koji dio proglašen zapečaćenim, tada se cijeli tip smatra zapečaćenim.
  • Ako bilo koji dio deklarira osnovni tip, tada ga cijeli tip nasljeđuje.
  • Bilo koji član razreda deklariran u djelomičnoj definiciji dostupan je svim ostalim dijelovima.
  • Svi dijelovi djelomične klase trebaju biti u istom imenskom prostoru.

** Napomena:partial modifikator nije dostupan na delegira ili popisnih deklaracije

Uvođenje u djelomične metode

Djelomična klasa može sadržavati djelomičnu metodu. Jedan dio klase sadrži potpis metode. Neobvezna provedba može se definirati u istom dijelu ili drugom dijelu. Ako implementacija nije dostavljena, tada se metoda i svi pozivi uklanjaju u vrijeme sastavljanja.

Primjer 2:

Uzmimo primjer kao djelomičnu klasu Cardefiniranu u file1.cskojoj se nalaze tri metode InitializeCar (), BuildRim () i BuildWheels (). Među tim metodama InitializeCar definira se kao partial.

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

A imamo i drugu datoteku koja se zove as file2.cskoja ima dvije metode BuildEngine i InitializeCar. Metoda InitializeCar djelomična je metoda koja je također definirana u file1.cs.

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

Djelomična izjava metode sastoji se od dva dijela:

  1. Definicija kao u file1.cs.
  2. Provedba kao u file2.cs.

Mogu biti u odvojenim dijelovima djelomične klase ili u istom dijelu.

Stvari koje treba zapamtiti o djelomičnoj metodi

  • partial ključna riječ.
  • povratni tip void .
  • implicitno private.
  • a ne može biti virtual.

Zanimljivi članci...