У цій статті ми збираємось дізнатись про те, як і чому часткові класи та часткові методи впроваджуються в C #.
Існує багато ситуацій, коли вам може знадобитися розділити визначення класу, наприклад, під час роботи над масштабними проектами, багатьом розробникам та програмістам може знадобитися працювати над одним класом одночасно. У цьому випадку ми можемо використовувати функцію, яка називається Частковий клас .
Вступ до часткового класу
Під час програмування на C # (або OOP) ми можемо розділити визначення класу на два або більше вихідних файлів. Вихідні файли містять розділ визначення класу, і всі частини поєднуються під час компіляції програми. Для розділення визначення класу нам потрібно використовувати partial
ключове слово.
Приклад 1:
У нас є проект, названий таким, HeightWeightInfo
який показує зріст і вагу.
У нас є файл із назвою as File1.cs
з частковим класом, що називається Record. Він має дві цілочисельні змінні h & w та метод / конструктор, названий Record, який присвоює значення 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; ) ) )
Ось ще один файл з іменем File2.cs з тим самим частковим класом Record, який має лише метод PrintRecord. Цей метод відображатиме значення h & w.
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(); ) ) )
Тут ми маємо об’єкт класу Record як myRecord, який передає значення параметрів як 10 та 15 до h та w відповідно до методу, визначеного у File1.cs
.
Метод PrintRecord викликається об'єктом myRecord, який визначений у File2.cs
.
Це показує, що partial
ключове слово допомагає поєднати всі атрибути класу, визначеного в різних файлах, для роботи як єдиний клас.
Місця, де partial
можна використовувати клас:
- Працюючи над великими проектами з кількома розробниками, це допомагає розробникам одночасно працювати над одним класом.
- Коди можна додавати або модифікувати до класу без повторного створення вихідних файлів, які автоматично генеруються IDE (тобто Visual Studio).
Що слід пам’ятати про частковий клас
partial
Ключове слово вказати , що інші частини класу можуть бути визначені в просторі імен. Обов’язковим є використання часткового ключового слова, якщо ми намагаємось зробити клас частковим. Усі частини класу повинні знаходитися в одному просторі імен і доступні під час компіляції для формування остаточного типу. Усі деталі повинні мати однаковий модифікатор доступу, тобто приватний, загальнодоступний тощо.
- Якщо якусь частину оголошено абстрактною, то весь тип вважається абстрактною.
- Якщо будь-яка деталь оголошена герметичною, то весь тип вважається герметичною.
- Якщо яка-небудь частина оголошує базовий тип, тоді весь тип успадковує цей клас.
- Будь-який член класу, заявлений у частковому визначенні, доступний для всіх інших частин.
- Усі частини часткового класу повинні знаходитися в одному просторі імен.
** Примітка:partial
модифікатор не доступний на делегат або перерахування декларацій
Вступ до часткових методів
Частковий клас може містити частковий метод. Одна частина класу містить підпис методу. Необов'язкова реалізація може бути визначена в тій самій частині або іншій частині. Якщо реалізація не надана, тоді метод і всі виклики видаляються під час компіляції.
Приклад 2:
Візьмемо приклад як частковий клас, Car
визначений у file1.cs
якому є три методи InitializeCar (), BuildRim () та BuildWheels (). Серед цих методів InitializeCar визначається як partial
.
public partial class Car ( partial void InitializeCar(); public void BuildRim() ( ) public void BuildWheels() ( ) )
І ми маємо ще один файл з іменем як, file2.cs
який має два методи BuildEngine та InitializeCar. Метод InitializeCar є частковим методом, який також визначено в file1.cs
.
public partial class Car ( public void BuildEngine() ( ) partial void InitializeCar() ( string str = "Car"; ) )
Часткова декларація методу складається з двох частин:
- Визначення як у
file1.cs
. - Реалізація як в
file2.cs
.
Вони можуть бути в окремих частинах часткового класу, або в тій же частині.
Що слід пам’ятати про частковий метод
partial
ключове слово.- тип повернення
void
. - неявно
private
. - і не може бути
virtual
.