Objektno orijentirano programiranje jedna je od najpopularnijih paradigmi programiranja. To je zato što modelira i podatke i funkcije i omogućuje vam razmišljanje u smislu objekata iz stvarnog svijeta. Klase su temeljni aspekt objektno orijentiranog programiranja budući da pružaju nacrt koji vam je potreban za stvaranje objekata.

C# je popularan programski jezik s više paradigmi, koji koristi objektno orijentiranu paradigmu. U ovom ćete članku naučiti kako stvoriti i koristiti klase u C#.

Stvaranje deklaracije klase

U C#, klasa je referentni tip, koji će sadržavati ništavan vrijednost dok ne stvorite novi objekt klase. Za stvaranje nove klase u C# trebat će vam nekoliko komponenti:

  • Modifikator pristupa.
  • The razreda ključna riječ.
  • Ime koje želite dodijeliti razredu.
  • Par otvorenih i zatvorenih vitičastih zagrada (koje će obuhvatiti atribute, konstruktore i metode klase).
unutarnje razredaKupac{ }

Gornji kod stvara novu klasu kojoj mogu pristupiti druge klase u istom sklopu (kompilacijska datoteka). C# ima točno šest modifikatora pristupa koje možete koristiti za kontrolu razina pristupačnosti vaših klasa, varijabli i metoda. Šest modifikatora pristupa su:

instagram viewer

  • javnost: svaka klasa (bez obzira na sklop) može pristupiti javnoj klasi i njenim javnim članovima (atributima, konstruktorima i metodama).
  • privatni: samo privatna klasa i njeni članovi mogu joj pristupiti.
  • zaštićen: samo izvedene klase (klase djece i unuka) mogu pristupiti zaštićenoj klasi.
  • unutarnje: samo klase u istom sklopu mogu pristupiti internoj klasi.
  • zaštićeni unutarnji: samo klase u istom sklopu ili izvedena klasa iz drugog sklopa mogu pristupiti zaštićenoj internoj klasi.
  • privatno zaštićeno: samo izvedene klase u istom sklopu mogu pristupiti privatnoj zaštićenoj klasi.

Deklariranje i pristup atributima

Atributi su građevni blokovi za klase koje stvarate. Sadrže osjetljive podatke i obično imaju privatni ili zaštićeni modifikator pristupa. Stoga, za pristup tim klasama iz vanjskih klasa trebate koristiti pristupnike i mutatore (dobivače i postavljače).

C# vam omogućuje da deklarirate svoje atribute, mutatore i pristupnike na sljedeći način:

unutarnje razredaKupac
{
// atributi
privatniint ID broj;
privatni naziv niza;
privatnidvostruko Ukupno;

// postavljači
javnostponištitiPostaviIdNumber(int ID broj){ ovaj.IdNumber = IdNumber; }
javnostponištitiSetName(naziv niza){ ovaj.Ime = Ime; }
javnostponištitiSetTotal(dvostruko Ukupno){ ovaj.Total = Ukupno; }

// dobivači
javnostintGetIdNumber(){ povratakovaj.ID broj; }
javnost niz GetName(){ povratakovaj.Ime; }
javnostdvostrukoGetTotal(){ povratakovaj.Ukupno; }
}

Ostali popularni objektno orijentirani jezici također upotrijebite gornji pristup. Zapravo, ako želite stvoriti Java klase, morat ćete koristiti gornju strukturu. Međutim, C# sada ima lakši način stvaranja atributa i pristupnika. U C#, ova klasa ima istu funkciju kao ona iznad:

unutarnje razredaKupac
{
public int IdNumber { dobiti; postaviti; }
javni naziv niza { dobiti; postaviti; }
public double Ukupno { dobiti; postaviti; }
}

Gornja klasa sadrži ono što C# poziva Svojstva, što je kombinacija atributa (polja) i metoda. S Svojstva, možete prepoloviti kod deklaracije atributa, mutatora i pristupnika.

Deklariranje konstruktora

Konstruktori su još jedan temeljni aspekt klase. Da biste stvorili objekt iz klase, morat ćete pozvati jednog od njegovih konstruktora. Svaki konstruktor ima izborni modifikator pristupa i isto ime kao njegova klasa. Za objektno orijentirane programske jezike općenito postoje tri vrste konstruktora:

  • Zadani konstruktor: ne uzima argumente i daje svakom atributu zadanu vrijednost.
  • Primarni konstruktor: uzima jedan ili više argumenata (ovisno o broju varijabli u klasi).
  • Konstruktor kopiranja: uzima drugi konstruktor kao argument.

C# ima krovni izraz za gore navedene zadane i primarne konstruktore—konstruktore instance. Ovaj programski jezik također ima dva druga konstruktora (privatni i statički). Ovaj se članak usredotočuje na tri tradicionalna konstruktora.

Zadani konstruktor

// zadani konstruktor
javnost kupac()
{
IdNumber = 0;
Ime = "nepoznato";
Ukupno = 0;
}

Primarni konstruktor

// primarni konstruktor
javnostKupac(int IdNumber, string Name, string CustomerType, dvostruko Ukupno)
{
ovaj.IdNumber = IdNumber;
ovaj.Ime = Ime;
ovaj.Total = Ukupno;
}

Konstruktor kopiranja

// kopiraj konstruktor
javnost Kupac (Klijent prethodniKupac)
{
ovaj.IdNumber = prethodniKupac. ID broj;
ovaj.Ime = prethodniKupac. Ime;
ovaj.Ukupno = prethodniKupac. Ukupno;
}

Stvaranje metoda

Metode nisu ključna komponenta klase, ali su korisne. Klasa može imati jednu ili više metoda. Metoda ima modifikator pristupa, povratnu vrstu, ime i tijelo.

// metoda
javnost string CustomerDetail()
{
povratak " ISKAZNICA: " + IDBroj + " Ime: " + Ime + " Ukupno: " + Ukupno;
}

Gornji kod vraća prikaz niza objekta kupca.

Stvaranje objekata

Nakon što stvorite potpunu klasu, opremite je atributima, konstruktorima i metodom, možete početi stvarati objekte koristeći različite konstruktore. Da biste stvorili objekt bez atributa, možete koristiti zadani konstruktor:

Kupac Ivan = novi Kupac();

Gornji redak koda stvara zadanog kupca i dodjeljuje ga varijabli koja se zove Ivan. S Ivan, možete pristupiti zadanoj vrijednosti svakog atributa kupca.

Konzola.WriteLine(Ivan.Ime);

Izvršavanje gornjeg koda ispisuje sljedeće u konzoli:

Nepoznato

Također možete koristiti Ivan varijabla za pristup bilo kojoj metodi u klasi korisnika.

Konzola.WriteLine(Ivan.CustomerDetail());

Izvršavanje gornjeg retka koda ispisuje sljedeći izlaz u konzoli:

ID: 0 Ime: nepoznato Ukupno: 0

Da biste stvorili objekt s atributima, upotrijebili biste primarni konstruktor:

Kupac Ivan = novi kupac (1001, "John Doe", 250.20);
Konzola.WriteLine(Ivan.CustomerDetail());

Izvršavanje gornjeg koda ispisuje sljedeći izlaz na konzoli:

iskaznica: 1001 Ime: IvanSrnaUkupno: 250.2

Za izradu kopije gornjeg objekta možete koristiti konstruktor kopiranja:

Kupac Johnny = novi Kupac (Ivan);
Konzola.WriteLine(Johnny.CustomerDetail());

Izvršavanje gornjeg koda ispisuje sljedeći izlaz na konzoli:

iskaznica: 1001 Ime: IvanSrnaUkupno: 250.2

Kao što vidite, konstruktor kopije je kopija primarnog konstruktora. Konstruktor kopiranja također može uzeti zadani konstruktor kao argument:

Kupac Ivan = novi Kupac();
Kupac Johnny = novi Kupac (Ivan);
Konzola.WriteLine(Johnny.CustomerDetail());

Izvršavanje gornjeg koda ispisuje sljedeći izlaz na konzoli:

ID: 0 Ime: nepoznato Ukupno: 0

Sada možete stvarati i koristiti C# klase

Možete koristiti objektno orijentiranu paradigmu u C# za definiranje klasa i stvaranje objekata iz njih. Možete stvoriti metode za svaku klasu koje zatim mogu raditi na atributima svojih objekata.

Međutim, objektno orijentirana paradigma nije jedina s kojom morate biti upoznati. Tri glavne programske paradigme su imperativna, objektno orijentirana i funkcionalna.