C# klasse og objekttutorial med eksempler

⚡ Smart opsummering

C#-klasser og -objekter bringer objektorienteret struktur til applikationer ved hjælp af wrapping relaterede dataegenskaber og metoder i en enkelt blueprint. Hvert objekt er en instans af en klasse, der gemmer sine egne værdier for disse egenskaber.

  • 🔸 Klasse: En klasse indkapsler dataegenskaber og de metoder, der opererer på disse data, i én genanvendelig skabelon.
  • 🎯 Objekt: Et objekt er en runtime-instans af en klasse, der indeholder konkrete værdier for dens egenskaber.
  • 🏗️ Skabelse: Nøgleordet new instantierer et objekt, som i Tutorial pTutor = new Tutorial(), og allokerer hukommelse til det.
  • 🧱 Felter og metoder: Felter lagrer et objekts tilstand, mens metoder som SetTutorial og GetTutorial definerer dets adfærd.
  • 🔐 Indkapsling: Adgangsmodifikatorer som f.eks. offentlig og privat styrer, hvilke felter og metoder uden for kode kan nå.
  • 🤖 AI assistance: GitHub Copilot bruger klassedefinitioner som scaffold, mens ML.NET bruger objektdata som funktioner til maskinlæringsmodeller.

C# klasse og objekt

C# er baseret på C++ programmeringssprog. Derfor har C#-programmeringssproget indbygget understøttelse af klasser og objekter. En klasse er intet andet end en indkapsling af egenskaber og metoder, der bruges til at repræsentere en realtidsentitet.

For eksempel hvis du vil arbejde med medarbejderens data i en bestemt applikation.

Medarbejderens egenskaber vil være medarbejderens id og navn. Metoderne vil omfatte indtastning og ændring af medarbejderdata.

Alle disse operationer kan repræsenteres som en klasse i C#. I dette kapitel vil vi se nærmere på, hvordan vi kan arbejde med klasser og objekter i C#.

Hvad er klasse og objekt?

Lad os først begynde med klasser.

Som vi diskuterede tidligere klasser er en indkapsling af dataegenskaber og data metoder.

  • Egenskaberne bruges til at beskrive de data, som klassen skal opbevare.
  • Metoderne fortæller, hvad det er for operationer, der kan udføres på dataene.

For at få en bedre forståelse af klasse og objekter, lad os se på et eksempel nedenfor på, hvordan en klasse ville se ud.

Klassens navn er "Tutorial". Klassen har følgende egenskaber

  1. Tutorial ID – Dette vil blive brugt til at gemme et unikt nummer, som repræsenterer selvstudiet.
  2. Tutorial navn – Dette vil blive brugt til at gemme navnet på selvstudiet som en streng.

En klasse består også af metoder. Vores klasse har følgende metoder,

  1. SetTutorial – Denne metode vil blive brugt til at indstille id'et og navnet på selvstudiet. Så hvis vi for eksempel ville lave en tutorial til .Net, kunne vi lave et objekt til dette. Objektet vil have et ID på lad os sige 1. For det andet vil vi tildele navnet ".Net" som navnet på vejledningen. ID-værdien 1 og navnet på ".Net" vil blive gemt som en egenskab for objektet.
  2. GetTutorial – Denne metode vil blive brugt til at få detaljerne i en specifik tutorial. Så hvis vi ønskede at få navnet på vejledningen, ville denne metode returnere strengen ".Net".

C# klasse og objekt

Nedenfor er et øjebliksbillede af, hvordan et objekt kan se ud for vores Tutorial-klasse. Vi har 3 objekter, hver med deres eget respektive TutorialID og TutorialName.

C# klasse og objekt

Sådan opretter du en klasse og et objekt

Lad os nu dykke ned i Visual Studio at skabe vores klasse. Vi vil bygge videre på vores eksisterende konsolapplikation, som blev oprettet i vores tidligere kapitel. Vi vil oprette en klasse i Visual Studio til vores nuværende applikation.

Lad os følge nedenstående trin for at få dette eksempel på plads.

Trin 1) Det første trin involverer oprettelsen af ​​en ny klasse i vores eksisterende applikation. Dette gøres ved hjælp af Visual Studio.

Opret en klasse og et objekt

  1. Det første trin er at højreklikke på løsningen, som i vores tilfælde er 'DemoApplication'. Dette åbner en kontekstmenu med en liste over muligheder.
  2. Vælg indstillingen Tilføj->Klasse fra kontekstmenuen. Dette giver mulighed for at tilføje en klasse til det eksisterende projekt.

Trin 2) Det næste trin er at give klassen et navn og tilføje det til vores løsning.

Opret en klasse og et objekt

  1. I projektdialogboksen skal vi først give et navn til vores klasse. Lad os give vores klasse et navn på Tutorial.cs. Bemærk, at filnavnet skal slutte med .cs for at sikre, at det behandles som en ordentlig klassefil.
  2. Når vi klikker på knappen Tilføj, tilføjes klassen til vores løsning.

Hvis ovenstående trin følges, får du nedenstående output i Visual Studio.
Produktion:-

Opret en klasse og et objekt

En klasse ved navn Tutorial.cs vil blive føjet til løsningen. Hvis du åbner filen, vil du finde nedenstående kode tilføjet til klassefilen.

Opret en klasse og et objekt

Code Forklaring:-

  1. Den første del indeholder de obligatoriske moduler, som Visual Studio tilføjer til enhver .Net-fil. Disse moduler er altid nødvendige for at sikre, at ethvert .Net-program kører i en Windows miljø.
  2. Den anden del er klassen, som føjes til filen. Klassens navn er 'Tutorial' i vores tilfælde. Dette er navnet, som blev angivet med klassen blev tilføjet til løsningen.

I øjeblikket gør vores klassefil ikke noget. I de følgende emner vil vi se nærmere på, hvordan man arbejder med klassen.

Felter og metoder

Vi har allerede set, hvordan felter og metoder er defineret i klasser i det tidligere emne.

Til vores Tutorial-klasse kan vi have følgende egenskaber.

  1. Tutorial ID – Dette vil blive brugt til at gemme et unikt nummer, som repræsenterer Tutorial.
  2. Tutorial Name – Dette vil blive brugt til at gemme navnet på selvstudiet som en streng.

Vores Tutorial-klasse kan også have nedenstående metoder.

  1. SetTutorial – Denne metode vil blive brugt til at indstille id'et og navnet på selvstudiet.
  2. GetTutorial - Denne metode vil blive brugt til at få detaljerne i en specifik tutorial.

Lad os nu se, hvordan vi kan inkorporere felter og metoder i vores kode.

Trin 1) Det første trin er at sikre, at Tutorial-klassen har de rigtige felter og metoder defineret. I dette trin tilføjer vi nedenstående kode til filen Tutorial.cs.

Felter og metoder

Code Forklaring:-

  1. Det første trin er at tilføje felterne TutorialID og TutorialName til klassefilen. Da feltet TutorialID vil være et tal, definerer vi det som et heltal, mens TutorialName vil blive defineret som en streng.
  2. Dernæst definerer vi SetTutorial-metoden. Denne metode accepterer 2 parametre. Så hvis Program.cs kalder SetTutorial-metoden, skal den angive værdierne til disse parametre. Disse værdier vil blive brugt til at indstille felterne for selvstudieobjektet.
    1. Værdien af ​​pID ville blive 1
    2. Værdien af ​​pName ville være .Net.
    3. I SetTutorial-metoden vil disse værdier derefter blive videregivet til TutorialID og TutorialName.
    4. Så nu ville TutorialID have en værdi på 1 og TutorialName ville have en værdi på ".Net".
  3. Her indstiller vi felterne i Tutorial-klassen til parametrene i overensstemmelse hermed. Så vi indstillede TutorialID til pID og TutorialName til Pname.
  4. Vi definerer derefter GetTutorial-metoden for at returnere værdi af typen "String". Denne metode vil blive brugt til at returnere TutorialName til det kaldende program. Ligeledes kan du også få tutorial-id'et med metoden Int GetTutorial
  5. Her returnerer vi værdien af ​​feltet TutorialName til det kaldende program.

Trin 2) Lad os nu tilføje kode til vores Program.cs, som er vores konsolapplikation. Konsolapplikationen vil blive brugt til at oprette et objekt af "Tutorial-klassen" og kalde SetTutorial- og GetTutorial-metoderne i overensstemmelse hermed.

(Bemærk:- Et objekt er en forekomst af en klasse på ethvert givet tidspunkt. Forskellen mellem en klasse og et objekt er, at objektet indeholder værdier for egenskaberne.)

Felter 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 trin er at oprette et objekt til Tutorial-klassen. Marker her, at dette gøres ved at bruge søgeordet 'ny'. Nøgleordet 'ny' bruges til at oprette et objekt fra en klasse i C#. Objektet tildeles derefter til pTutor variabel.
  2. Metoden SetTutorial kaldes derefter. Parametrene 1 og ".Net" overføres til SetTutorial-metoden. Disse vil derefter blive brugt til at indstille "TutorialID" og "TutorialName" felterne for klassen i overensstemmelse hermed.
  3. Vi bruger derefter GetTutorial-metoden i Tutorial-klassen for at få TutorialName. Dette vises derefter til konsollen via Console.WriteLine-metoden.

Hvis ovenstående kode er indtastet korrekt, og programmet køres, vil følgende output blive vist.

Output:

Felter og metoder

Fra outputtet kan du tydeligt se, at strengen ".Net" blev returneret af GetTutorial-metoden.

Ofte Stillede Spørgsmål

En konstruktør er en speciel metode, der matcher klassenavnet og kører automatisk, når et objekt oprettes med `new`, hvor dets felter initialiseres med startværdier.

Nøgleordet new opretter et objekt fra en klasse. Det allokerer hukommelse, kalder konstruktøren og returnerer en reference, som i Tutorial pTutor = new Tutorial().

En klasse er en referencetype, der er gemt på heapen, mens en struct er en værditype, der kopieres ved tildeling. Klasser understøtter arv, hvilket structs ikke gør.

Adgangsmodifikatorer angiver medlemmers synlighed. public eksponerer et medlem for enhver kode, private begrænser det til den samme klasse, og protected deler det med afledte klasser.

Ja. En klasse er en blueprint, så du kan oprette mange objekter med new. Hvert objekt indeholder sin egen kopi af felterne, keeping deres værdier uafhængige.

Et felt lagrer data direkte i en klasse. En egenskab ombryder et felt med get- og set-tilgangspunkter og styrer, hvordan værdien læses eller ændres.

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

ML.NET modellerer input- og outputdata som C#-klasser. Du definerer en klasse, hvis egenskaber knyttes til funktioner, indlæser poster i objekter og træner modeller ud fra dem.

Opsummer dette indlæg med: