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 partial
ključnu riječ.
Primjer 1:
Imamo projekt nazvan kao HeightWeightInfo
koji prikazuje visinu i težinu.
Imamo datoteku nazvanu as File1.cs
s 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 partial
ključna riječ pomaže kombinirati sve atribute klase definirane u raznim datotekama kako bi radila kao jedna klasa.
Mjesta na kojima se partial
nastava može koristiti:
- Dok radi na većim projektima s više programera, pomaže programerima da istovremeno rade na istoj klasi.
- 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
partial
Ključ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 Car
definiranu u file1.cs
kojoj 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.cs
koja 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:
- Definicija kao u
file1.cs
. - 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
.