C # Dalinė klasė ir dalinis metodas (su pavyzdžiais)

Šiame straipsnyje mes sužinosime, kaip ir kodėl daliniai klasės ir daliniai metodai turi būti įgyvendinti C #.

Yra daugybė situacijų, kai gali tekti padalyti klasės apibrėžimą, pvz., Dirbant su didelio masto projektais, keliems kūrėjams ir programuotojams gali tekti tuo pačiu metu dirbti toje pačioje klasėje. Tokiu atveju galime naudoti funkciją, vadinamą daline klase .

Dalinės klasės įvadas

Programuodami C # (arba OOP), mes galime padalinti klasės apibrėžimą į du ar daugiau šaltinio failų. Šaltinio failuose yra klasės apibrėžimo skyrius, o sudedant programą visos dalys sujungiamos. Norėdami padalyti klasės apibrėžimą, turime naudoti partialraktinį žodį.

1 pavyzdys:

Mes turime projektą, HeightWeightInfokurio pavadinimas yra aukštis ir svoris.

Mes turime failą, pavadintą kaip File1.cssu daline klase, pavadinta Įrašu. Jame yra du sveikojo skaičiaus kintamieji h & w ir metodas / konstruktorius, pavadintas Record, kuris priskiria h & w reikšmes.

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

Čia yra dar vienas failas, pavadintas File2.cs su tuo pačiu daliniu klasės įrašu, kurio metodas yra tik „PrintRecord“. Šis metodas parodys h & w reikšmes.

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

Čia mes galime pamatyti pagrindinį projekto metodą:

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

Čia mes turime klasės „Record“ objektą kaip „myRecord“, kuris parametrų reikšmes kaip 10 ir 15 perduoda atitinkamai h ir w metodui, apibrėžtam File1.cs.

Metodą PrintRecord iškviečia objektas myRecord, kuris yra apibrėžtas File2.cs.

Tai rodo, kad partialraktinis žodis padeda sujungti visus klasės atributus, apibrėžtus įvairiuose failuose, kad jie veiktų kaip viena klasė.

Vietos, kuriose partialgali būti naudojama klasė:

  1. Dirbant su didesniais projektais su daugiau nei vienu kūrėju, tai padeda kūrėjams vienu metu dirbti toje pačioje klasėje.
  2. Kodai gali būti pridėti arba modifikuoti klasėje iš naujo nekūriant šaltinio failų, kuriuos automatiškai generuoja IDE (ty „Visual Studio“).

Dalinio klasės dalykai, kuriuos reikia atsiminti

partialRaktažodį nurodyti, kad kitos dalys klasės gali būti apibrėžta vardų. Privaloma naudoti dalinį raktinį žodį, jei bandome padaryti klasę daline. Visos klasės dalys turėtų būti toje pačioje vardų srityje ir prieinamos kompiliavimo metu, kad būtų suformuotas galutinis tipas. Visos dalys turi turėti tą patį prieigos modifikatorių, ty privačią, viešą ar pan.

  • Jei kuri nors dalis yra paskelbta abstrakčia, tada visas tipas laikomas abstrakčiu.
  • Jei kuri nors dalis yra paskelbta užplombuota, tada visa rūšis laikoma užplombuota.
  • Jei kuri nors dalis deklaruoja pagrindinį tipą, tada visa rūšis paveldi tą klasę.
  • Bet kuris klasės narys, deklaruotas daline apibrėžtimi, yra prieinamas visoms kitoms dalims.
  • Visos dalinės klasės dalys turėtų būti toje pačioje vardų srityje.

** Pastaba:partial modifikatorius yra negalimas perduoti arba surašymo deklaracijų

Įvadas į dalinius metodus

Dalinėje klasėje gali būti dalinis metodas. Vienoje klasės dalyje yra metodo parašas. Nebūtinas įgyvendinimas gali būti apibrėžtas toje pačioje arba kitoje dalyje. Jei diegimas nepateikiamas, metodas ir visi skambučiai pašalinami kompiliavimo metu.

2 pavyzdys:

Paimkime pavyzdį kaip Carapibrėžtą dalinę klasę , file1.cskurioje yra trys metodai InitializeCar (), BuildRim () ir BuildWheels (). Tarp šių metodų „InitializeCar“ apibrėžiamas kaip partial.

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

Ir mes turime dar vieną failą, pavadintą tokiu, file2.cskuris turi du metodus „BuildEngine“ ir „InitializeCar“. Metodas InitializeCar yra dalinis metodas, kuris taip pat apibrėžtas file1.cs.

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

Dalinę metodo deklaraciją sudaro dvi dalys:

  1. Apibrėžimas kaip file1.cs.
  2. Įgyvendinimas, kaip nurodyta file2.cs.

Jie gali būti atskirose dalinės klasės dalyse arba toje pačioje dalyje.

Ką reikia atsiminti apie dalinį metodą

  • partial raktinis žodis.
  • grąžinimo tipas void .
  • netiesiogiai private.
  • ir negali būti virtual.

Įdomios straipsniai...