C # Clasă parțială și metodă parțială (cu exemple)

În acest articol vom afla despre cum și de ce metodele parțiale de clasă și parțiale sunt implementate în C #.

Există multe situații în care este posibil să aveți nevoie să împărțiți o definiție a clasei, cum ar fi atunci când lucrați la proiecte la scară largă, mai mulți dezvoltatori și programatori ar putea avea nevoie să lucreze la aceeași clasă în același timp. În acest caz putem folosi o caracteristică numită Clasă parțială .

Introducere în clasa parțială

În timp ce programăm în C # (sau OOP), putem împărți definiția unei clase pe două sau mai multe fișiere sursă. Fișierele sursă conțin o secțiune din definiția clasei și toate părțile sunt combinate atunci când aplicația este compilată. Pentru împărțirea unei definiții a clasei, trebuie să folosim partialcuvântul cheie.

Exemplul 1:

Avem un proiect numit HeightWeightInfocare arată înălțimea și greutatea.

Avem un fișier numit ca și File1.cscu o clasă parțială numită Record. Are două variabile întregi h & w și o metodă / constructor denumită Record care atribuie valorile 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; ) ) )

Iată un alt fișier denumit File2.cs cu aceeași clasă parțială Record care are doar metoda PrintRecord. Această metodă va afișa valorile h & w.

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

Aici acum putem vedea principala metodă a proiectului:

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

Aici avem obiectul clasei Record ca myRecord care transmite valorile parametrilor 10 și 15 la h și respectiv la metoda definită în File1.cs.

Metoda PrintRecord este numită de obiectul myRecord care este definit în File2.cs.

Acest lucru arată că partialcuvântul cheie ajută la combinarea tuturor atributelor unei clase definite în diferite fișiere pentru a funcționa ca o singură clasă.

Locuri unde se partialpoate folosi clasa:

  1. În timp ce lucrează la proiecte mai mari cu mai mulți dezvoltatori, îi ajută pe dezvoltatori să lucreze simultan pe aceeași clasă.
  2. Codurile pot fi adăugate sau modificate clasei fără a recrea fișiere sursă care sunt generate automat de IDE (adică Visual Studio).

Lucruri de reținut despre clasa parțială

Cuvântul partialcheie specifică faptul că alte părți ale clasei pot fi definite în spațiul de nume. Este obligatoriu să folosim cuvântul cheie parțial dacă încercăm să facem o clasă parțială. Toate părțile clasei ar trebui să fie în același spațiu de nume și disponibile la momentul compilării pentru a forma tipul final. Toate părțile trebuie să aibă același modificator de acces, adică privat, public sau așa mai departe.

  • Dacă o parte este declarată abstractă, atunci întregul tip este considerat abstract.
  • Dacă o parte este declarată sigilată, atunci întregul tip este considerat sigilat.
  • Dacă o parte declară un tip de bază, atunci întregul tip moștenește acea clasă.
  • Orice membru al clasei declarat într-o definiție parțială este disponibil pentru toate celelalte părți.
  • Toate părțile unei clase parțiale ar trebui să fie în același spațiu de nume.

** Notă:partial Modificatorul nu este disponibil pe declarațiile delega sau enumerare

Intruziune în metodele parțiale

O clasă parțială poate conține o metodă parțială. O parte a clasei conține semnătura metodei. O implementare opțională poate fi definită în aceeași parte sau într-o altă parte. Dacă implementarea nu este furnizată, atunci metoda și toate apelurile sunt eliminate la momentul compilării.

Exemplul 2:

Să luăm un exemplu ca o clasă parțială Cardefinită în file1.cscare are trei metode InitializeCar (), BuildRim () și BuildWheels (). Printre aceste metode, InitializeCar este definit ca partial.

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

Și avem un alt fișier numit file2.cscare are două metode BuildEngine și InitializeCar. Metoda InitializeCar este o metodă parțială care este definită și în file1.cs.

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

O declarație de metodă parțială constă din două părți:

  1. Definiția ca în file1.cs.
  2. Implementarea ca în file2.cs.

Ele pot fi în părți separate ale clasei parțiale sau în aceeași parte.

Lucruri de reținut despre Metoda parțială

  • partial cuvânt cheie.
  • tip retur void .
  • implicit private.
  • și nu poate fi virtual.

Articole interesante...