C# osztály és objektum oktatóanyag példákkal

⚡ Okos összefoglaló

A C# osztályok és objektumok objektumorientált struktúrát visznek az alkalmazásokba a wrap segítségével.ping kapcsolódó adattulajdonságok és metódusok egyetlen tervrajzon belül. Minden objektum egy osztály egy példánya, amely a saját értékeit tárolja ezekhez a tulajdonságokhoz.

  • 🔸 Osztály: Egy osztály egyetlen újrafelhasználható sablonba foglalja az adattulajdonságokat és az adatokon működő metódusokat.
  • 🎯 Tárgy: Egy objektum egy osztály futásidejű példánya, amely konkrét értékeket tárol a tulajdonságaihoz.
  • 🏗️ Teremtés: A new kulcsszó példányosít egy objektumot, ahogy a Tutorial pTutor = new Tutorial() esetében is, memóriát foglalva le számára.
  • 🧱 Mezők és módszerek: A mezők egy objektum állapotát tárolják, míg az olyan metódusok, mint a SetTutorial és a GetTutorial, a viselkedését határozzák meg.
  • 🔐 Egységbezárás: Hozzáférés-módosítók, például nyilvános és privát, amelyek szabályozzák, hogy a kódon kívüli mezők és metódusok mely mezőket érhetik el.
  • 🤖 AI segítség: A GitHub Copilot osztálydefiníciókat állít össze, míg az ML.NET objektumadatokat használ fel gépi tanulási modellek funkcióiként.

C# osztály és objektum

A C# a C++ programozási nyelv. Ezért a C# programozási nyelv beépített támogatással rendelkezik az osztályokhoz és objektumokhoz. Az osztály nem más, mint egy valós idejű entitás ábrázolására használt tulajdonságok és metódusok tokozása.

Például, ha az alkalmazott adataival szeretne dolgozni egy adott alkalmazásban.

A munkavállaló tulajdonságai a munkavállaló azonosítója és neve. A módszerek közé tartozna a munkavállalói adatok bevitele és módosítása.

Mindezek a műveletek osztályként ábrázolhatók C#-ban. Ebben a fejezetben megvizsgáljuk, hogyan dolgozhatunk osztályokkal és objektumokkal C#-ban részletesebben.

Mi az osztály és objektum?

Kezdjük először az osztályokkal.

Amint azt korábban tárgyaltuk, az osztályok a beágyazódása adatok tulajdonságait és a adatmódszerek.

  • A tulajdonságok az osztály által tárolt adatok leírására szolgálnak.
  • A metódusok megmondják, hogy milyen műveleteket lehet végrehajtani az adatokon.

Az osztály és az objektumok jobb megértése érdekében nézzünk meg egy példát az alábbiakban arra, hogyan nézne ki egy osztály.

Az osztály neve „Tutorial”. Az osztály a következő tulajdonságokkal rendelkezik

  1. Oktatóanyag azonosítója – Ez egy egyedi szám tárolására szolgál, amely az oktatóanyagot képviselné.
  2. Oktatóanyag neve – Ez az oktatóprogram nevének karakterláncként való tárolására szolgál.

Egy osztály metódusokat is tartalmaz. A mi osztályunkban a következő módszerek vannak,

  1. Set Tutorial – Ezzel a módszerrel beállíthatja az oktatóprogram azonosítóját és nevét. Így például, ha szeretnénk létrehozni egy oktatóprogramot a .Net számára, létrehozhatunk egy objektumot ehhez. Az objektum azonosítója mondjuk 1. Másodszor, egy „.Net” nevet rendelnénk hozzá az oktatóprogram neveként. Az 1 azonosító értéke és a „.Net” neve az objektum tulajdonságaként kerül tárolásra.
  2. GetTutorial – Ezt a módszert egy adott oktatóanyag részleteinek megismerésére használnák. Tehát ha meg akarjuk kapni az oktatóanyag nevét, ez a módszer a „.Net” karakterláncot adja vissza.

C# osztály és objektum

Az alábbiakban egy pillanatkép látható arról, hogyan nézhet ki egy objektum az oktatóanyag osztályunkhoz. 3 objektumunk van, mindegyik saját TutorialID-vel és TutorialName-vel.

C# osztály és objektum

Hogyan hozzunk létre egy osztályt és objektumot

Most merüljünk bele Visual Studio osztályunk létrehozásához. A meglévő konzolalkalmazásunkra fogunk építeni, amelyet korábbi fejezetünkben készítettünk. A jelenlegi alkalmazásunkhoz létrehozunk egy osztályt a Visual Studióban.

Kövesse az alábbi lépéseket, hogy ezt a példát a helyére állítsa.

Step 1) Az első lépés egy új osztály létrehozása a meglévő alkalmazásunkon belül. Ez a Visual Studio segítségével történik.

Hozzon létre egy osztályt és objektumot

  1. Az első lépés a jobb gombbal kattintson a megoldásra, ami esetünkben a „DemoApplication”. Ekkor megjelenik egy helyi menü a lehetőségek listájával.
  2. A helyi menüből válassza a Hozzáadás->Osztály lehetőséget. Ez lehetőséget ad egy osztály hozzáadására a meglévő projekthez.

Step 2) A következő lépésben adjunk nevet az osztálynak, és adjuk hozzá a megoldásunkhoz.

Hozzon létre egy osztályt és objektumot

  1. A projekt párbeszédablakban először meg kell adnunk az osztályunk nevét. Adjunk egy nevet a Tutorial.cs-nak az osztályunk számára. Ne feledje, hogy a fájlnévnek .cs-re kell végződnie, hogy megfelelő osztályfájlként kezelje.
  2. Amikor a Hozzáadás gombra kattintunk, az osztály hozzáadódik a megoldásunkhoz.

Ha a fenti lépéseket követi, az alábbi kimenetet kapja meg a Visual Studio-ban.
Kimenet:-

Hozzon létre egy osztályt és objektumot

A megoldáshoz egy Tutorial.cs nevű osztály kerül hozzáadásra. Ha megnyitja a fájlt, az alábbi kódot találja hozzáadva az osztályfájlhoz.

Hozzon létre egy osztályt és objektumot

Code Magyarázat:-

  1. Az első rész azokat a kötelező modulokat tartalmazza, amelyeket a Visual Studio bármely .Net fájlhoz hozzáad. Ezekre a modulokra mindig szükség van annak biztosításához, hogy bármely .Net program futhasson a Windows környezetben.
  2. A második rész a fájlhoz hozzáadott osztály. Az osztály neve esetünkben 'Tutorial'. Ez az a név, amelyet az osztály hozzáadásával adtunk meg a megoldáshoz.

Jelenleg az osztályfájlunk nem csinál semmit. A következő témakörökben részletesebben megvizsgáljuk, hogyan dolgozhatunk az osztállyal.

Területek és módszerek

A korábbi témakörben már láthattuk, hogyan definiálják a mezőket és a metódusokat az osztályokban.

A Tutorial osztályunkhoz a következő tulajdonságokkal rendelkezhetünk.

  1. Oktatóprogram azonosítója – Ez egy egyedi szám tárolására szolgál, amely az oktatóanyagot jelképezi.
  2. Oktatóprogram neve – Ez az oktatóprogram nevének tárolására szolgál a húr.

A Tutorial osztályunk az alábbi módszereket is tartalmazhatja.

  1. SetTutorial – Ezzel a módszerrel állíthatja be az oktatóprogram azonosítóját és nevét.
  2. GetTutorial – Ez a módszer egy adott oktatóanyag részleteinek lekérésére szolgál.

Lássuk most, hogyan építhetünk be mezőket és metódusokat a kódunkba.

Step 1) Az első lépés annak biztosítása, hogy a Tutorial osztály a megfelelő mezőket és metódusokat tartalmazza. Ebben a lépésben hozzáadjuk az alábbi kódot a Tutorial.cs fájlhoz.

Területek és módszerek

Code Magyarázat:-

  1. Az első lépés az TutorialID és TutorialName mezők hozzáadása az osztályfájlhoz. Mivel a TutorialID mező egy szám lesz, egész számként definiáljuk, míg a TutorialName karakterláncként lesz definiálva.
  2. Ezután definiáljuk a SetTutorial metódust. Ez a módszer 2 paramétert fogad el. Tehát ha a Program.cs meghívja a SetTutorial metódust, akkor meg kell adnia az értékeket ezekhez a paraméterekhez. Ezeket az értékeket fogja használni a Tutorial objektum mezőinek beállítására.
    1. A pID értéke 1 lesz
    2. A pName értéke .Net lenne.
    3. A SetTutorial metódusban ezek az értékek a TutorialID és a TutorialName számára lesznek átadva.
    4. Így most a TutorialID értéke 1, a TutorialName pedig „.Net” lesz.
  3. Itt a Tutorial osztály mezőit ennek megfelelően állítjuk be a paraméterekre. Tehát a TutorialID-t pID-re, a TutorialName-et pedig Pname-re állítottuk.
  4. Ezután meghatározzuk a GetTutorial metódust a „String” típusú érték visszaadásához. Ezzel a módszerrel a TutorialName visszaadható a hívó programnak. Hasonlóképpen az oktatóprogram azonosítóját is megkaphatja az Int GetTutorial metódussal
  5. Itt visszaadjuk a TutorialName mező értékét a hívó programnak.

Step 2) Most adjunk hozzá kódot a Program.cs-hoz, amely a konzolalkalmazásunk. A Console alkalmazást a „Tutorial osztály” objektumának létrehozására fogja használni, és ennek megfelelően hívja meg a SetTutorial és a GetTutorial metódusokat.

(Megjegyzések:- Egy objektum egy osztály bármely adott időpontban előforduló példánya. Az osztály és az objektum közötti különbség az, hogy az objektum a tulajdonságok értékeit tartalmazza.)

Területek és módszerek

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 Magyarázat:-

  1. Az első lépés egy objektum létrehozása a Tutorial osztály számára. Itt jelölje meg, hogy ez az "új" kulcsszó használatával történik. Az „új” kulcsszó egy objektum létrehozására szolgál egy osztályból C#-ban. Az objektum ezután hozzá van rendelve a pTutorhoz változó.
  2. Ezután a SetTutorial metódus kerül meghívásra. Az 1 és a „.Net” paraméterei a SetTutorial metódushoz kerülnek. Ezekkel a rendszer ezután az osztály „TutorialID” és „TutorialName” mezőit ennek megfelelően állítja be.
  3. Ezután a Tutorial osztály GetTutorial metódusát használjuk a TutorialName lekéréséhez. Ez ezután megjelenik a konzolon a Console.WriteLine metóduson keresztül.

Ha a fenti kódot megfelelően adta meg és a program lefut, a következő kimenet jelenik meg.

output:

Területek és módszerek

A kimenetből jól látható, hogy a „.Net” karakterláncot a GetTutorial metódus adta vissza.

GYIK

A konstruktor egy speciális metódus, amely egyezteti az osztály nevét, és automatikusan lefut, amikor egy objektumot létrehozunk a new függvénnyel, inicializálva a mezőit a kezdőértékekkel.

A new kulcsszó egy osztályból hoz létre egy objektumot. Memóriát foglal le, meghívja a konstruktort, és egy referenciát ad vissza, ahogy a Tutorial pTutor = new Tutorial() esetében is látható.

Az osztály egy referencia típus, amely a heap-en tárolódik, míg a struktúra egy értékadáskor másolódó érték típus. Az osztályok támogatják az öröklődést; a struktúrák nem.

A hozzáférés-módosítók a tagok láthatóságát állítják be. A public mód bármilyen kód számára elérhetővé teszi a tagot, a private mód ugyanarra az osztályra korlátozza, a protected mód pedig megosztja azt a származtatott osztályokkal.

Igen. Egy osztály egy tervrajz, tehát sok objektumot létrehozhatsz az új függvénnyel. Minden objektum a mezők saját másolatát tartalmazza, tartsuk meg.ping értékeik függetlenek.

Egy mező közvetlenül egy osztályon belül tárolja az adatokat. Egy tulajdonság egy mezőt get és set elérőkkel csomagol be, amelyek szabályozzák az érték beolvasásának vagy módosításának módját.

Igen. A GitHub Copilot osztálydefiníciókat, mezőket, konstruktorokat és metódustörzset javasol egy megjegyzésből vagy osztálynévből a Visual Studio-n belül, és VS Code. RevTekintse meg mindegyiket a helyes típusokért.

Az ML.NET C# osztályokként modellezi a bemeneti és kimeneti adatokat. Definiálsz egy osztályt, amelynek tulajdonságai jellemzőkre vannak leképezve, betöltöd a rekordokat az objektumokba, és ezekből modelleket tanítasz be.

Foglald össze ezt a bejegyzést a következőképpen: