Ebben az oktatóanyagban megtanulja-
- Öröklés
- Polimorfizmus
Mi az öröklés a C # -ben?
Az öröklés a C # fontos fogalma. Az öröklés olyan fogalom, amelyben meghatározhatja a szülői osztályokat és a gyermekosztályokat.
A gyermekosztályok öröklik a szülő osztály módszereit és tulajdonságait, ugyanakkor szükség esetén módosíthatják a módszerek viselkedését is. A gyermekosztály szükség esetén saját módszereket is meghatározhat.
Jobban meg fog érteni, ha látjuk ezt a cselekvést.
Most nézzük meg, hogyan építhetjük be az öröklés fogalmát kódunkba.
1. lépés: Az első lépés a Tutorial osztály kódjának megváltoztatása. Ebben a lépésben hozzáadjuk az alábbi kódot a Tutorial.cs fájlhoz.
Vegye figyelembe, hogy most hozzá kell adnunk a „védett” hozzáférés-módosítót mind a TutorialID, mind a TutorialName mezőbe.
Ne feledje, hogy említettük ezt a hozzáférés-módosítót az Access Modifier oktatóanyagban. Nos itt láthatja ennek a célját. Csak akkor, ha rendelkezik ezzel a hozzáférés-módosítóval (védett), a gyermekosztály használhatja a szülőosztály mezőit.
2. lépés) A második lépés az új gyermekosztály felvétele. Ennek az osztálynak a neve "Guru99Tutorial" lesz. Ebben a lépésben hozzáadjuk az alábbi kódot a Tutorial.cs fájlhoz. A kódot a Tutorial osztály definíciója után kell elhelyezni.
Kód Magyarázat: -
- Az első lépés a Guru99Tutorial gyermekosztály létrehozása. Azt is meg kell említenünk, hogy ez az osztály a Tutorial osztály gyermekosztálya lesz. Ezt a ':' kulcsszó végzi.
- Ezután meghatározzuk a RenameTutorial nevű módszert. A TutorialName mező átnevezésére szolgál. Ez a módszer elfogad egy string változót, amely tartalmazza az oktatóanyag új nevét.
- Ezután hozzárendeltük a pNewName paramétert a TutorialName mezőhöz.
Megjegyzés : - Annak ellenére, hogy nem definiáltuk a TutorialName mezőt a "Guru99Tutorial" osztályban, mégis hozzáférünk ehhez a mezőhöz. Ez annak a ténynek köszönhető, hogy a "Guru99Tutorial" a Tutorial osztály gyermekosztálya. És mivel a Tutorial osztály mezőit védetté tettük, ezért ez az osztály hozzáférhet hozzájuk.
3. lépés: Az utolsó lépés a Fő Program.cs fájlunk módosítása. Konzol alkalmazásunkban elkészítjük a Guru99Tutorial osztály objektumát. Ezzel az objektummal meghívjuk a RenameTutorial metódust. Ezután meg fogjuk jeleníteni a TutorialName mezőt a GetTutorial módszer segítségével.
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{protected int TutorialID;protected string TutorialName;public void SetTutorial(int pID,string pName){TutorialID=pID;TutorialName=pName;}public String GetTutorial(){return TutorialName;}}public class Guru99Tutorial:Tutorial{public void RenameTutorial(String pNewName){TutorialName=pNewName;}static void Main(string[] args){Guru99Tutorial pTutor=new Guru99Tutorial();pTutor.RenameTutorial(".Net by Guru99");Console.WriteLine(pTutor.GetTutorial());Console.ReadKey();}}}
Kód Magyarázat: -
- Az első lépés egy objektum létrehozása a Guru99Tutorial osztály számára. Ez az „új” kulcsszóval történik. Ne feledje, hogy ezúttal nem a Tutorial osztály objektumát hozzuk létre.
- A TutorialName mező megváltoztatásához a Guru99Tutorial osztály RenameTutorial metódusát használjuk. Átadjuk a ".Net by Guru99" karakterláncot a RenameTutorial metódusnak.
- Ezután hívjuk a GetTutorial metódust. Vegye figyelembe, hogy bár ez a módszer nincs meghatározva a Guru99Tutorial osztályban, mégis hozzáférhetünk ehhez a módszerhez. A GetTutorial metódus kimenete ezután megjelenik a konzolon a Console.WriteLine módszerrel.
Ha a fenti kódot helyesen adjuk meg, és a program sikeresen végrehajtódik, a következő kimenet jelenik meg.
Kimenet:
A kimenetből egyértelműen láthatjuk, hogy a TutorialName mező neve ".Net by Guru99" lett. Ezt a gyermekosztály által meghívott RenameTutorial módszer tette lehetővé.
Mi a polimorfizmus a C # -ben?
A polimorfizmus olyan OOP-fogalom, ahol egy névnek sokféle formája lehet.
Például van egy okostelefon a kommunikációhoz. A választott kommunikációs mód bármi lehet. Ez lehet hívás, szöveges üzenet, képes üzenet, e-mail stb. Tehát a cél közös, vagyis a kommunikáció, de más a megközelítésük. Ezt hívják polimorfizmusnak.
Jobban meg fog érteni, ha látjuk ezt a cselekvést.
Most nézzük meg, hogyan építhetjük be a polimorfizmus fogalmát kódunkba.
1. lépés: Az első lépés a Tutorial osztály kódjának megváltoztatása. Ebben a lépésben hozzáadjuk az alábbi kódot a Tutorial.cs fájlhoz.
Kód Magyarázat: -
1 és 2) Az első lépés megegyezik a korábbi példáinkkal. Megtartjuk a SetTutorial módszer definícióját úgy, ahogy van.
3) Ez a módszer a TutorialID és a TutorialName beállításokat a pID és a pName paraméterek alapján állítja be.
4) Itt változtatunk az osztályunkon, ahol új metódust adunk a SetTutorial névvel. Csak ezúttal csak egy paramétert adunk át, amely a pName. Ebben a módszerben a TutorialName mezőt csak pName-re állítjuk.
2. lépés: Az utolsó lépés a Fő Program.cs fájlunk módosítása. Konzol alkalmazásunkban elkészítjük a Guru99Tutorial osztály objektumát.
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Tutorial{public int TutorialID;public string TutorialName;public void SetTutorial(int pID,string pName){TutorialID=pID;TutorialName=pName;}public void SetTutorial(string pName){TutorialName=pName;}public String GetTutorial(){return TutorialName;}static void Main(string[] args){Tutorial pTutor=new Tutorial();pTutor.SetTutorial(1,"First Tutorial");Console.WriteLine(pTutor.GetTutorial());pTutor.SetTutorial("Second Tutorial");Console.WriteLine(pTutor.GetTutorial());Console.ReadKey();}}}
Kód Magyarázat: -
- Első lépésben a SetTutorial metódust használjuk 2 paraméterrel. Ahol átadjuk a TutorialID és a TutorialName neveket is ennek a módszernek.
- A második lépésben most csak egy paraméterrel hívjuk meg a SetTutorial metódust. Csak átadjuk a TutorialName-et ennek a módszernek.
Ha a fenti kódot helyesen adta meg és a program fut, a következő kimenet jelenik meg. Ha abban az esetben is meg akarná szerezni az oktatóanyag azonosítóját a bemutató nevével együtt, kövesse az alábbi lépést
- Hozzon létre egy külön metódust public int GetTutorialID néven
- Ebben a módszerben írja be a "return TutorialID" kódsort. Ezzel vissza lehet adni a TutorialID-t a hívó programba.
Kimenet:
A kimenetből jól látható, hogy mindkét módszert sikeresen meghívtuk. Emiatt a "First Tutorial" és a "Second Tutorial" karakterláncokat elküldtük a konzolnak.
Összegzés
- Az öröklés az, ahol a gyermekosztály örökli a szülőosztály mezőit és módszereit. A gyermekosztály ezután meghatározhatja saját módszereit is.
- A polimorfizmus olyan OOP-fogalom, ahol egy névnek sokféle formája lehet.