Objektno orientirano programiranje je ena izmed najbolj priljubljenih paradigem programiranja. To je zato, ker modelira podatke in funkcije ter vam omogoča razmišljanje v smislu predmetov iz resničnega sveta. Razredi so temeljni vidik objektno usmerjenega programiranja, saj zagotavljajo načrt, ki ga potrebujete za ustvarjanje objektov.

C# je priljubljen programski jezik z več paradigmami, ki uporablja objektno usmerjeno paradigmo. V tem članku se boste naučili, kako ustvariti in uporabljati razrede v C#.

Ustvarjanje deklaracije razreda

V C# je razred referenčni tip, ki bo vseboval nič vrednost, dokler ne ustvarite novega predmeta razreda. Za ustvarjanje novega razreda v C# boste potrebovali več komponent:

  • Modifikator dostopa.
  • The razred ključna beseda.
  • Ime, ki ga želite dodeliti razredu.
  • Par odprtih in zaprtih zavitih oklepajev (ki bodo obdajali atribute, konstruktorje in metode razreda).
notranji razredStranka{ }

Zgornja koda ustvari nov razred, do katerega lahko dostopajo drugi razredi v istem sestavu (kompilacijska datoteka). C# ima natanko šest modifikatorjev dostopa, s katerimi lahko nadzirate ravni dostopnosti svojih razredov, spremenljivk in metod. Šest modifikatorjev dostopa je:

instagram viewer

  • javnosti: vsak razred (ne glede na svoj sklop) lahko dostopa do javnega razreda in njegovih javnih članov (atributov, konstruktorjev in metod).
  • zasebno: samo zasebni razred in njegovi člani lahko dostopajo do njega.
  • zaščiten: samo izpeljani razredi (razredi otrok in vnukov) lahko dostopajo do zaščitenega razreda.
  • notranji: samo razredi v istem sklopu lahko dostopajo do notranjega razreda.
  • zaščiten notranji: do zaščitenega notranjega razreda lahko dostopajo samo razredi v istem sestavu ali razred, izpeljan iz drugega sestava.
  • zasebno zaščiten: samo izpeljani razredi v istem sklopu lahko dostopajo do zasebnega zaščitenega razreda.

Deklariranje in dostop do atributov

Atributi so gradniki za razrede, ki jih ustvarite. Hranijo občutljive podatke in običajno imajo zasebni ali zaščiteni modifikator dostopa. Zato bi morali za dostop do teh razredov iz zunanjih razredov uporabiti dostopnike in mutatorje (getterje in setterje).

C# vam omogoča, da svoje atribute, mutatorje in dostopnike deklarirate na naslednji način:

notranji razredStranka
{
// lastnosti
zasebnoint ID številka;
zasebno ime niza;
zasebnodvojno Skupaj;

// postavljalci
javnostiprazninaSetIdNumber(int ID številka){ to.IdNumber = IdNumber; }
javnostiprazninaSetName(ime niza){ to.Name = Ime; }
javnostiprazninaSetTotal(dvojno skupaj){ to.Total = Skupaj; }

// pridobivalci
javnostiintGetIdNumber(){ vrnitevto.ID številka; }
javnosti vrvica GetName(){ vrnitevto.Ime; }
javnostidvojnoGetTotal(){ vrnitevto.Skupaj; }
}

Drugo priljubljeno objektno usmerjeni jeziki uporabite tudi zgornji pristop. Pravzaprav, če želite ustvarite razrede Java, boste morali uporabiti zgornjo strukturo. Vendar ima C# zdaj lažji način ustvarjanja atributov in dostopnikov. V C# ima ta razred enako funkcijo kot zgornji:

notranji razredStranka
{
public int IdNumber { dobiti; set; }
ime javnega niza { dobiti; set; }
public double Total { dobiti; set; }
}

Zgornji razred vsebuje klice C# lastnosti, ki je kombinacija atributov (polj) in metod. z lastnosti, lahko svojo deklaracijo atributov, mutatorje in kodo dostopnikov zmanjšate za polovico.

Deklariranje konstruktorjev

Konstruktorji so še en temeljni vidik razreda. Če želite ustvariti objekt iz razreda, boste morali poklicati enega od njegovih konstruktorjev. Vsak konstruktor ima izbirni modifikator dostopa in isto ime kot njegov razred. Za objektno usmerjene programske jezike na splošno obstajajo tri vrste konstruktorjev:

  • Privzeti konstruktor: ne sprejema argumentov in vsakemu atributu zagotovi privzeto vrednost.
  • Primarni konstruktor: sprejme enega ali več argumentov (odvisno od števila spremenljivk v razredu).
  • Konstruktor kopij: sprejme drug konstruktor kot argument.

C# ima krovni izraz za privzete in primarne konstruktorje zgoraj – konstruktorje primerkov. Ta programski jezik ima tudi dva druga konstruktorja (zasebnega in statičnega). Ta članek se osredotoča na tri tradicionalne konstruktorje.

Privzeti konstruktor

// privzeti konstruktor
javnosti Stranka()
{
IdNumber = 0;
Ime = "neznano";
Skupaj = 0;
}

Primarni konstruktor

// primarni konstruktor
javnostiStranka(int IdNumber, niz Name, niz CustomerType, dvojno skupaj)
{
to.IdNumber = IdNumber;
to.Name = Ime;
to.Total = Skupaj;
}

Konstruktor Kopiraj

// kopiraj konstruktor
javnosti Stranka (prejšnja stranka)
{
to.IdNumber = prejšnja stranka. ID številka;
to.Ime = prejšnja stranka. ime;
to.Skupaj = prejšnja stranka. Skupaj;
}

Ustvarjanje metod

Metode niso ključna komponenta razreda, so pa uporabne. Razred ima lahko eno ali več metod. Metoda ima modifikator dostopa, povratni tip, ime in telo.

// metoda
javnosti niz CustomerDetail()
{
vrnitev " ID: " + IdŠtevilka + " ime: " + Ime + " Skupaj: " + Skupaj;
}

Zgornja koda vrne nizovno predstavitev predmeta stranke.

Ustvarjanje predmetov

Ko ustvarite celoten razred, ga opremite z atributi, konstruktorji in metodo, lahko začnete ustvarjati objekte z uporabo različnih konstruktorjev. Če želite ustvariti objekt brez atributov, lahko uporabite privzeti konstruktor:

Stranka Janez = novo Stranka();

Zgornja vrstica kode ustvari privzeto stranko in jo dodeli klicani spremenljivki Janez. z Janez, lahko dostopate do privzete vrednosti vsakega atributa stranke.

Konzola.WriteLine(Janez.Ime);

Izvajanje zgornje kode natisne naslednje v konzoli:

Neznano

Uporabite lahko tudi Janez spremenljivko za dostop do katere koli metode v razredu strank.

Konzola.WriteLine(Janez.CustomerDetail());

Izvajanje zgornje vrstice kode natisne naslednji izhod v konzoli:

ID: 0 Ime: neznano Skupaj: 0

Če želite ustvariti objekt z atributi, bi uporabili primarni konstruktor:

Stranka Janez = nova stranka (1001, "John Doe", 250.20);
Konzola.WriteLine(Janez.CustomerDetail());

Izvajanje zgornje kode natisne naslednji izhod v konzoli:

ID: 1001 Ime: JanezSrnaSkupaj: 250.2

Če želite ustvariti kopijo zgornjega predmeta, lahko uporabite konstruktor kopiranja:

Stranka Johnny = novo Stranka (Janez);
Konzola.WriteLine(Johnny.CustomerDetail());

Izvajanje zgornje kode natisne naslednji izhod v konzoli:

ID: 1001 Ime: JanezSrnaSkupaj: 250.2

Kot lahko vidite, je konstruktor kopije kopija primarnega konstruktorja. Konstruktor kopiranja lahko kot argument vzame tudi privzeti konstruktor:

Stranka Janez = novo Stranka();
Stranka Johnny = novo Stranka (Janez);
Konzola.WriteLine(Johnny.CustomerDetail());

Izvajanje zgornje kode natisne naslednji izhod v konzoli:

ID: 0 Ime: neznano Skupaj: 0

Zdaj lahko ustvarjate in uporabljate razrede C#

Za definiranje razredov in ustvarjanje objektov iz njih lahko uporabite objektno usmerjeno paradigmo v C#. Ustvarite lahko metode za vsak razred, ki lahko nato delujejo z atributi svojih predmetov.

Vendar objektno usmerjena paradigma ni edina, s katero morate biti seznanjeni. Najboljše tri paradigme programiranja so imperativne, objektno usmerjene in funkcionalne.