C# Class & Object Tutorial med eksempler

⚡ Smart oppsummering

C#-klasser og -objekter bringer objektorientert struktur til applikasjoner ved hjelp av wrapping relaterte dataegenskaper og metoder i én enkelt blåkopi. Hvert objekt er en forekomst av en klasse som lagrer sine egne verdier for disse egenskapene.

  • 🔸 Klasse: En klasse innkapsler dataegenskaper og metodene som opererer på disse dataene i én gjenbrukbar mal.
  • 🎯 Gjenstand: Et objekt er en kjøretidsinstans av en klasse som inneholder konkrete verdier for egenskapene sine.
  • 🏗️ Opprettelse: Nøkkelordet new instansierer et objekt, som i Tutorial pTutor = new Tutorial(), og allokerer minne til det.
  • 🧱 Felt og metoder: Felt lagrer tilstanden til et objekt, mens metoder som SetTutorial og GetTutorial definerer dets oppførsel.
  • 🔐 innkapsling: Tilgangsmodifikatorer som offentlig og privat kontrollerer hvilke felt og metoder utenfor kode kan nå.
  • 🤖 AI-hjelp: GitHub Copilot bruker klassedefinisjoner som stillas, mens ML.NET bruker objektdata som funksjoner for maskinlæringsmodeller.

C# klasse og objekt

C# er basert på C++ programmeringsspråk. Derfor har C#-programmeringsspråket innebygd støtte for klasser og objekter. En klasse er ikke annet enn en innkapsling av egenskaper og metoder som brukes til å representere en sanntidsenhet.

For eksempel hvis du ønsker å jobbe med ansattes data i en bestemt applikasjon.

Egenskapene til den ansatte vil være ID og navn på den ansatte. Metodene vil inkludere inntasting og endring av ansattes data.

Alle disse operasjonene kan representeres som en klasse i C#. I dette kapittelet skal vi se nærmere på hvordan vi kan jobbe med klasser og objekter i C#.

Hva er klasse og objekt?

La oss først begynne med klasser.

Som vi diskuterte tidligere klasser er en innkapsling av dataegenskaper og datametoder.

  • Egenskapene brukes til å beskrive dataene klassen vil holde.
  • Metodene forteller hva som er operasjonene som kan utføres på dataene.

For å få en bedre forståelse av klasse og objekter, la oss se på et eksempel nedenfor på hvordan en klasse vil se ut.

Navnet på klassen er "Tutorial". Klassen har følgende egenskaper

  1. Opplærings-ID – Dette vil bli brukt til å lagre et unikt nummer som vil representere opplæringen.
  2. Opplæringsnavn – Dette vil bli brukt til å lagre navnet på opplæringen som en streng.

En klasse består også av metoder. Klassen vår har følgende metoder,

  1. SetTutorial – Denne metoden vil bli brukt til å angi ID og navn på opplæringen. Så hvis vi for eksempel ønsket å lage en opplæring for .Net, kan vi lage et objekt for dette. Objektet vil ha en ID på la oss si 1. For det andre vil vi tilordne navnet ".Net" som navnet på opplæringen. ID-verdien 1 og navnet på ".Net" vil bli lagret som en egenskap for objektet.
  2. GetTutorial – Denne metoden vil bli brukt for å få detaljene i en spesifikk opplæring. Så hvis vi ønsket å få navnet på opplæringen, ville denne metoden returnert strengen ".Net".

C# klasse og objekt

Nedenfor er et øyeblikksbilde av hvordan et objekt kan se ut for opplæringsklassen vår. Vi har 3 objekter, hver med sin egen respektive TutorialID og TutorialName.

C# klasse og objekt

Hvordan lage en klasse og et objekt

La oss nå dykke ned i Visual Studio å lage klassen vår. Vi skal bygge videre på vår eksisterende konsollapplikasjon som ble opprettet i vårt tidligere kapittel. Vi vil opprette en klasse i Visual Studio for vår nåværende applikasjon.

La oss følge trinnene nedenfor for å få dette eksemplet på plass.

Trinn 1) Det første trinnet innebærer å opprette en ny klasse i vår eksisterende applikasjon. Dette gjøres ved hjelp av Visual Studio.

Lag en klasse og et objekt

  1. Det første trinnet er å høyreklikke på løsningen, som i vårt tilfelle er 'DemoApplication'. Dette vil få opp en kontekstmeny med en liste over alternativer.
  2. Velg alternativet Legg til->Klasse fra kontekstmenyen. Dette vil gi muligheten til å legge til en klasse til det eksisterende prosjektet.

Trinn 2) Neste trinn er å gi klassen et navn og legge det til i løsningen vår.

Lag en klasse og et objekt

  1. I prosjektdialogboksen må vi først gi et navn for klassen vår. La oss gi et navn på Tutorial.cs for klassen vår. Merk at filnavnet skal slutte med .cs for å sikre at det blir behandlet som en riktig klassefil.
  2. Når vi klikker på Legg til-knappen, legges klassen til i løsningen vår.

Hvis trinnene ovenfor følges, vil du få utdataene nedenfor i Visual Studio.
Produksjon:-

Lag en klasse og et objekt

En klasse kalt Tutorial.cs vil bli lagt til løsningen. Hvis du åpner filen, vil du finne koden nedenfor lagt til klassefilen.

Lag en klasse og et objekt

Code Forklaring:-

  1. Den første delen inneholder de obligatoriske modulene som Visual Studio legger til i enhver .Net-fil. Disse modulene er alltid nødvendige for å sikre at ethvert .Net-program kjører i en Windows miljø.
  2. Den andre delen er klassen som legges til filen. Klassenavnet er 'Tutorial' i vårt tilfelle. Dette er navnet som ble spesifisert med klassen ble lagt til løsningen.

For øyeblikket gjør ikke klassefilen vår noe. I de følgende emnene skal vi se nærmere på hvordan vi kan jobbe med klassen.

Felt og metoder

Vi har allerede sett hvordan felt og metoder er definert i klasser i det tidligere emnet.

For opplæringsklassen vår kan vi ha følgende egenskaper.

  1. Opplærings-ID – Dette vil bli brukt til å lagre et unikt nummer som vil representere opplæringen.
  2. Opplæringsnavn – Dette vil bli brukt til å lagre navnet på opplæringen som en string.

Opplæringsklassen vår kan også ha de nevnte metodene.

  1. SetTutorial – Denne metoden vil bli brukt til å angi ID og navn på opplæringen.
  2. GetTutorial - Denne metoden vil bli brukt for å få detaljene i en spesifikk opplæring.

La oss nå se hvordan vi kan inkludere felt og metoder i koden vår.

Trinn 1) Det første trinnet er å sikre at opplæringsklassen har de riktige feltene og metodene definert. I dette trinnet legger vi til koden nedenfor i Tutorial.cs-filen.

Felt og metoder

Code Forklaring:-

  1. Det første trinnet er å legge til feltene TutorialID og TutorialName til klassefilen. Siden TutorialID-feltet vil være et tall, definerer vi det som et heltall, mens TutorialName vil bli definert som en streng.
  2. Deretter definerer vi SetTutorial-metoden. Denne metoden aksepterer 2 parametere. Så hvis Program.cs kaller SetTutorial-metoden, må den oppgi verdiene til disse parameterne. Disse verdiene vil bli brukt til å angi feltene til opplæringsobjektet.
    1. Verdien av pID blir 1
    2. Verdien av pName vil være .Net.
    3. I SetTutorial-metoden vil disse verdiene deretter bli sendt til TutorialID og TutorialName.
    4. Så nå vil TutorialID ha en verdi på 1 og TutorialName vil ha en verdi på ".Net".
  3. Her setter vi feltene til opplæringsklassen til parametrene tilsvarende. Så vi satte TutorialID til pID og TutorialName til Pname.
  4. Vi definerer deretter GetTutorial-metoden for å returnere verdien av typen "String". Denne metoden vil bli brukt til å returnere TutorialName til det anropende programmet. På samme måte kan du også få opplærings-IDen med metoden Int GetTutorial
  5. Her returnerer vi verdien av TutorialName-feltet til det anropende programmet.

Trinn 2) La oss nå legge til kode i Program.cs, som er vår konsollapplikasjon. Konsollapplikasjonen vil bli brukt til å lage et objekt av "Tutorial-klassen" og kalle SetTutorial- og GetTutorial-metodene tilsvarende.

(Merknader:- Et objekt er en forekomst av en klasse til enhver tid. Forskjellen mellom en klasse og et objekt er at objektet inneholder verdier for egenskapene.)

Felt og metoder

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  int TutorialID; 
  string TutorialName;
  
  public void SetTutorial(int pID,string pName) 
  {
   TutorialID=pID;
   TutorialName=pName;
  }
  public String GetTutorial()
  {
   return TutorialName;
  }
  
  static void Main(string[] args) 
  {
   Tutorial pTutor=new Tutorial();
    
   pTutor.SetTutorial(1,".Net");
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

Code Forklaring:-

  1. Det første trinnet er å lage et objekt for opplæringsklassen. Merk her at dette gjøres ved å bruke søkeordet 'ny'. Nøkkelordet 'ny' brukes til å lage et objekt fra en klasse i C#. Objektet blir deretter tildelt pTutor variabel.
  2. Metoden SetTutorial kalles da. Parametrene 1 og ".Net" sendes til SetTutorial-metoden. Disse vil deretter bli brukt til å angi "TutorialID" og "TutorialName" feltene for klassen tilsvarende.
  3. Vi bruker deretter GetTutorial-metoden til Tutorial-klassen for å få TutorialName. Dette vises deretter til konsollen via Console.WriteLine-metoden.

Hvis koden ovenfor angis riktig og programmet kjøres, vil følgende utgang vises.

Utgang:

Felt og metoder

Fra utgangen kan du tydelig se at strengen ".Net" ble returnert av GetTutorial-metoden.

Spørsmål og svar

En konstruktør er en spesiell metode som samsvarer med klassenavnet og kjører automatisk når et objekt opprettes med new, og initialiserer feltene med startverdier.

Nøkkelordet new oppretter et objekt fra en klasse. Det allokerer minne, kaller konstruktøren og returnerer en referanse, som i veiledningen pTutor = new Tutorial().

En klasse er en referansetype lagret på heapen, mens en struct er en verditype kopiert ved tildeling. Klasser støtter arv, noe structs ikke gjør.

Tilgangsmodifikatorer angir synlighet for medlemmer. public eksponerer et medlem for hvilken som helst kode, private begrenser det til samme klasse, og protected deler det med avledede klasser.

Ja. En klasse er en blåkopi, så du kan opprette mange objekter med new. Hvert objekt har sin egen kopi av feltene, keeping deres verdier uavhengige.

Et felt lagrer data direkte i en klasse. En egenskap pakker inn et felt med get- og set-tilgangspunkter, og kontrollerer hvordan verdien leses eller endres.

Ja. GitHub Copilot foreslår klassedefinisjoner, felt, konstruktører og metodetekster fra en kommentar eller et klassenavn i Visual Studio, og VS Code. RevSe hver for riktige typer.

ML.NET modellerer input- og output-data som C#-klasser. Du definerer en klasse hvis egenskaper tilordnes til funksjoner, laster poster inn i objekter og trener modeller fra dem.

Oppsummer dette innlegget med: