Ц # Делимична класа и делимична метода (са примерима)

У овом чланку ћемо научити како и зашто делимичне методе класе и делимичне примене у Ц #.

Много је ситуација у којима ћете можда морати поделити дефиницију класе, на пример када радите на пројектима великих размера, више програмера и програмера можда ће морати радити на истој класи истовремено. У овом случају можемо користити функцију под називом Делимична класа .

Увод у делимичну класу

Током програмирања на језику Ц # (или ООП), дефиницију класе можемо поделити на две или више изворних датотека. Изворне датотеке садрже одељак дефиниције класе и сви делови се комбинују када се апликација компајлира. За поделу дефиниције класе треба да користимо partialкључну реч.

Пример 1:

Имамо пројекат под називом HeightWeightInfoкоји приказује висину и тежину.

Имамо датотеку названу ас File1.csса делимичном класом названом Рецорд. Има две целобројне променљиве х & в и метод / конструктор назван Рецорд, који додељује вредности х & в.

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

Ево још једне датотеке која се зове Филе2.цс са истом делимичном класом Рецорд која има само методу ПринтРецорд. Ова метода ће приказати вредности в & б.

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

Овде сада можемо видети главну методу пројекта:

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

Овде имамо објекат класе Рецорд као миРецорд који преноси вредности параметара као 10 и 15 на х и в, односно методу дефинисану у File1.cs.

Методу ПринтРецорд позива објекат миРецорд који је дефинисан у File2.cs.

То показује да partialкључна реч помаже у комбиновању свих атрибута класе дефинисаних у различитим датотекама да би функционисала као једна класа.

Места на којима partialсе може користити час:

  1. Док ради на већим пројектима са више програмера, помаже програмерима да истовремено раде на истој класи.
  2. Кодови се могу додати или модификовати у класу без поновног креирања изворних датотека које аутоматски генерише ИДЕ (тј. Висуал Студио).

Ствари које треба запамтити о делимичној класи

Кључна partialреч одређује да се други делови класе могу дефинисати у простору имена. Обавезно је користити парцијалну кључну реч ако покушавамо да класа постане делимична. Сви делови класе треба да буду у истом простору имена и доступни у време компајлирања да би се формирао коначни тип. Сви делови морају имати исти модификатор приступа, тј. Приватни, јавни или тако даље.

  • Ако је било који део проглашен апстрактним, тада се цео тип сматра апстрактним.
  • Ако је било који део проглашен запечаћеним, онда се цео тип сматра запечаћеним.
  • Ако било који део декларише основни тип, тада цео тип наслеђује ту класу.
  • Било који члан класе проглашен делимичном дефиницијом доступан је свим осталим деловима.
  • Сви делови делимичне класе требају бити у истом именском простору.

** Напомена:partial модификатор није доступан на делегата или пописних декларације

Увођење у делимичне методе

Делимична класа може садржати делимичну методу. Један део класе садржи потпис методе. Необавезна примена може бити дефинисана у истом делу или другом делу. Ако имплементација није достављена, тада се метода и сви позиви уклањају у време компајлирања.

Пример 2:

Узмимо пример као делимичну класу Carдефинисану у file1.csкојој се налазе три методе ИнитиализеЦар (), БуилдРим () и БуилдВхеелс (). Међу тим методама ИнитиализеЦар је дефинисан као partial.

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

А имамо и другу датотеку која се зове ас file2.csкоја има две методе БуилдЕнгине и ИнитиализеЦар. Метода ИнитиализеЦар је делимична метода која је такође дефинисана у file1.cs.

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

Делимична декларација методе састоји се из два дела:

  1. Дефиниција као у file1.cs.
  2. Примена као у file2.cs.

Могу бити у одвојеним деловима делимичне класе или у истом делу.

Ствари које треба запамтити о делимичном методу

  • partial кључна реч.
  • тип повратка void .
  • имплицитно private.
  • а не може бити virtual.

Занимљиви Чланци...