У овом чланку ћемо научити како и зашто делимичне методе класе и делимичне примене у Ц #.
Много је ситуација у којима ћете можда морати поделити дефиницију класе, на пример када радите на пројектима великих размера, више програмера и програмера можда ће морати радити на истој класи истовремено. У овом случају можемо користити функцију под називом Делимична класа .
Увод у делимичну класу
Током програмирања на језику Ц # (или ООП), дефиницију класе можемо поделити на две или више изворних датотека. Изворне датотеке садрже одељак дефиниције класе и сви делови се комбинују када се апликација компајлира. За поделу дефиниције класе треба да користимо 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
се може користити час:
- Док ради на већим пројектима са више програмера, помаже програмерима да истовремено раде на истој класи.
- Кодови се могу додати или модификовати у класу без поновног креирања изворних датотека које аутоматски генерише ИДЕ (тј. Висуал Студио).
Ствари које треба запамтити о делимичној класи
Кључна 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"; ) )
Делимична декларација методе састоји се из два дела:
- Дефиниција као у
file1.cs
. - Примена као у
file2.cs
.
Могу бити у одвојеним деловима делимичне класе или у истом делу.
Ствари које треба запамтити о делимичном методу
partial
кључна реч.- тип повратка
void
. - имплицитно
private
. - а не може бити
virtual
.