Objektorienteret programmering er et af de mest populære programmeringsparadigmer. Dette skyldes, at den modellerer både data og funktioner og lader dig tænke i forhold til virkelige objekter. Klasser er et grundlæggende aspekt af objektorienteret programmering, da de giver det plan, du har brug for til at skabe objekter.

C# er et populært multi-paradigme programmeringssprog, som bruger det objektorienterede paradigme. I denne artikel lærer du, hvordan du opretter og bruger klasser i C#.

Oprettelse af en klasseerklæring

I C# er en klasse en referencetype, som vil indeholde nul værdi, indtil du opretter et nyt objekt i klassen. For at oprette en ny klasse i C# skal du bruge flere komponenter:

  • En adgangsmodifikator.
  • Det klasse søgeord.
  • Det navn, du vil tildele klassen.
  • Et par åbne og lukkede krøllede seler (som vil omslutte klassens attributter, konstruktører og metoder).
indre klasseKunde{ }

Ovenstående kode opretter en ny klasse, der er tilgængelig for andre klasser i samme samling (kompilationsfil). C# har præcis seks adgangsmodifikatorer, som du kan bruge til at kontrollere tilgængelighedsniveauerne for dine klasser, variabler og metoder. De seks adgangsmodifikatorer er:

instagram viewer

  • offentlig: hver klasse (uanset dens samling) kan få adgang til den offentlige klasse og dens offentlige medlemmer (attributter, konstruktører og metoder).
  • privat: kun den private klasse og dens medlemmer kan få adgang til den.
  • beskyttet: kun afledte klasser (børne- og børnebørnklasser) kan få adgang til den beskyttede klasse.
  • indre: kun klasser i samme samling kan få adgang til den interne klasse.
  • beskyttet indre: kun klasser i samme samling eller en afledt klasse fra en anden samling kan få adgang til den beskyttede interne klasse.
  • privat beskyttet: kun afledte klasser i samme samling kan få adgang til den private beskyttede klasse.

Erklæring og adgang til attributter

Attributter er byggestenene til de klasser, du opretter. De har følsomme data og har normalt en privat eller beskyttet adgangsmodifikator. Derfor, for at få adgang til disse klasser fra eksterne klasser, skal du bruge accessors og mutatorer (getters og settere).

C# giver dig mulighed for at erklære dine attributter, mutatorer og accessorer som følger:

indre klasseKunde
{
// egenskaber
privatint ID-nummer;
privat streng Navn;
privatdobbelt I alt;

// sættere
offentligugyldigSetIdNumber(int ID-nummer){ dette.IdNumber = IdNumber; }
offentligugyldigSætnavn(strengnavn){ dette.Navn = Navn; }
offentligugyldigIndstil i alt(dobbelt I alt){ dette.Total = Total; }

// getters
offentligintGetIdNumber(){ Vend tilbagedette.ID-nummer; }
offentlig snor GetName(){ Vend tilbagedette.Navn; }
offentligdobbeltGetTotal(){ Vend tilbagedette.I alt; }
}

Andre populære objektorienterede sprog brug også fremgangsmåden ovenfor. Faktisk, hvis du vil oprette Java-klasser, skal du bruge strukturen ovenfor. Men C# har nu en nemmere måde at skabe attributter og accessorer på. I C# har denne klasse samme funktion som den ovenfor:

indre klasseKunde
{
public int IdNumber { ; sæt; }
offentlig streng Navn { ; sæt; }
offentlig dobbelt i alt { ; sæt; }
}

Klassen ovenfor indeholder, hvad C# kalder ejendomme, som er en kombination af attributter (felter) og metoder. Med ejendomme, kan du reducere din egenskabserklæring, mutatorer og adgangskoder med det halve.

Erklærende konstruktører

Konstruktører er et andet grundlæggende aspekt af en klasse. For at oprette et objekt fra en klasse bliver du nødt til at kalde en af ​​dens konstruktører. Hver konstruktør har en valgfri adgangsmodifikator og det samme navn som dens klasse. For objektorienterede programmeringssprog er der generelt tre typer konstruktører:

  • Standard konstruktør: tager ingen argumenter og giver hver attribut en standardværdi.
  • Primær konstruktør: tager et eller flere argumenter (afhængigt af antallet af variable i klassen).
  • Kopi konstruktør: tager en anden konstruktør som et argument.

C# har en paraplybetegnelse for standard- og primærkonstruktørerne ovenfor – instanskonstruktører. Dette programmeringssprog har også to andre konstruktører (private og statiske). Denne artikel fokuserer på de tre traditionelle konstruktører.

Standard konstruktør

// standard konstruktør
offentlig Kunde()
{
IdNumber = 0;
Navn = "ukendt";
Total = 0;
}

Primær konstruktør

// primær konstruktør
offentligKunde(int IdNumber, string Name, string CustomerType, dobbelt I alt)
{
dette.IdNumber = IdNumber;
dette.Navn = Navn;
dette.Total = Total;
}

Kopi konstruktør

// kopi konstruktør
offentlig Kunde (kunde tidligere kunde)
{
dette.IdNumber = forrige kunde. ID-nummer;
dette.Name = forrige kunde. Navn;
dette.Total = forrige kunde. I alt;
}

Oprettelse af metoder

Metoder er ikke en afgørende klassekomponent, men de er nyttige. En klasse kan have en eller flere metoder. En metode har en adgangsmodifikator, en returtype, et navn og en brødtekst.

// metode
offentlig streng CustomerDetail()
{
Vend tilbage " ID: " + IdNumber + " Navn: " + Navn + " I alt: " + I alt;
}

Koden ovenfor returnerer en strengrepræsentation af kundeobjektet.

Oprettelse af objekter

Efter at have oprettet en komplet klasse, udstyret med attributter, konstruktører og en metode, kan du begynde at oprette objekter ved hjælp af de forskellige konstruktører. For at oprette et objekt uden attributter kan du bruge standardkonstruktøren:

Kunde John = ny Kunde();

Kodelinjen ovenfor opretter en standardkunde og tildeler den til en variabel kaldet John. Med John, kan du få adgang til standardværdien for hver kundeattribut.

Konsol.WriteLine(John.Navn);

Udførelse af koden ovenfor udskriver følgende i konsollen:

Ukendt

Du kan også bruge John variabel for at få adgang til enhver metode i kundeklassen.

Konsol.WriteLine(John.Customer Detail());

Udførelse af kodelinjen ovenfor udskriver følgende output i konsollen:

ID: 0 Navn: ukendt I alt: 0

For at oprette et objekt med attributter skal du bruge den primære konstruktør:

Kunde John = ny kunde (1001, "John Doe", 250.20);
Konsol.WriteLine(John.Customer Detail());

Udførelse af koden ovenfor udskriver følgende output i konsollen:

ID: 1001 Navn: JohnDoei alt: 250.2

For at lave en kopi af objektet ovenfor kan du bruge kopikonstruktøren:

Kunde Johnny = ny Kunde (John);
Konsol.WriteLine(Johnny.Customer Detail());

Udførelse af koden ovenfor udskriver følgende output i konsollen:

ID: 1001 Navn: JohnDoei alt: 250.2

Som du kan se, er kopikonstruktøren en kopi af den primære konstruktør. Kopikonstruktøren kan også tage en standardkonstruktør som et argument:

Kunde John = ny Kunde();
Kunde Johnny = ny Kunde (John);
Konsol.WriteLine(Johnny.Customer Detail());

Udførelse af koden ovenfor udskriver følgende output i konsollen:

ID: 0 Navn: ukendt I alt: 0

Nu kan du oprette og bruge C#-klasser

Du kan bruge det objektorienterede paradigme i C# til at definere klasser og oprette objekter ud fra dem. Du kan oprette metoder for hver klasse, som derefter kan operere på deres objekters attributter.

Det objektorienterede paradigme er dog ikke det eneste, du skal være bekendt med. De tre øverste programmeringsparadigmer er imperative, objektorienterede og funktionelle.