C# pärimine ja polümorfism programminäidetega
⚡ Nutikas kokkuvõte
Pärimine ja polümorfism C#-s on kaks objektorienteeritud programmeerimiskeele põhiprintsiipi. Pärimine võimaldab lapseklassil taaskasutada vanemklassi välju ja meetodeid, samas kui polümorfism võimaldab ühel meetodi nimel võtta mitut vormi.

Mis on pärimine C#-s?
Pärisosa on C# oluline mõiste. Pärand on mõiste, milles määratlete vanem- ja alamklassid. Alamklassid pärivad ülemklassi meetodeid ja omadusi, kuid samal ajal saavad nad vajadusel ka meetodite käitumist muuta. Alamklass saab vajaduse korral määrata ka oma meetodid.
Saame C# pärandist paremini aru programminäite abil:
C# pärimise näide
Vaatame nüüd, kuidas saaksime oma koodi kaasata pärimise mõiste.
Step 1) Esimene samm on meie Tutorial klassi koodi muutmine. Selles etapis lisame faili Tutorial.cs alloleva koodi.
Pange tähele, et peame nüüd lisama juurdepääsu modifikaatori 'protected' nii väljale TutorialID kui ka TutorialName.
Pidage meeles, et me mainisime seda juurdepääsumodifikaatorit Juurdepääsu muutja õpetusSiit näete selle eesmärki. Ainult siis, kui teil on see juurdepääsumodifikaator (kaitstud), saab lapseklass kasutada vanemklassi välju.
Step 2) Teine samm on uue lapseklassi lisamine. Selle klassi nimi on „Guru99Tutorial”. Selles etapis lisame alloleva koodi faili Tutorial.cs. Kood tuleks paigutada pärast Tutorial klassi definitsiooni.
Code Selgitus:-
- Esimene samm on luua Guru99Tutorial lapseklass. Samuti peame mainima, et see klass on Tutorial klassi lapseklass. Seda tehakse märksõna ':' abil.
- Järgmisena määratleme meetodi nimega RenameTutorial. Seda kasutatakse välja TutorialName ümbernimetamiseks. See meetod aktsepteerib stringi muutujat, mis sisaldab õpetuse uut nime.
- Seejärel määrasime väljale TutorialName parameetri pNewName. märkused: – Kuigi me pole „TutorialName” välja defineerinudGuru99Tutorial” klassi puhul on meil sellele väljale endiselt juurdepääs. See on tingitud asjaolust, et „Guru„99Tutorial” on Tutorial klassi lapsklass. Kuna me tegime Tutorial klassi väljad kaitstuks, pääseb see klass neile ligi.
Step 3) Viimane samm on meie peamise Program.cs faili muutmine. Meie konsoolirakenduses loome objekti Guru99Tutorial klass. Selle objektiga kutsume välja RenameTutorial meetodi. Seejärel kuvame TutorialName välja GetTutorial meetodi abil.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { public 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(); } } }
Code Selgitus:-
- Esimene samm on objekti loomine Guru99Tutorial klass. Seda tehakse märksõna 'new' abil. Pane tähele, et seekord me ei loo Tutorial klassi objekti.
- Me kasutame RenameTutorial meetodit Guru99Tutorial klass TutorialName välja muutmiseks. Edastame stringi „.Net by Guru99” RenameTutorial meetodile.
- Seejärel kutsume välja meetodi GetTutorial. Pange tähele, et kuigi see meetod pole defineeritud Guru99Tutorial klassi puhul on meil sellele meetodile endiselt juurdepääs. GetTutorial meetodi väljund kuvatakse seejärel konsoolile Console.WriteLine meetodi kaudu.
Kui ülaltoodud kood on õigesti sisestatud ja programm on edukalt käivitatud, kuvatakse järgmine väljund.
Väljund:
Väljundist näeme selgelt, et väli TutorialName nimetati ümber laiendiks „.Net by Guru99”. Selle tegi võimalikuks lapsklassi poolt välja kutsutud RenameTutorial meetod.
Mis on C# polümorfism?
Polümorfism in C# on OOP-ide kontseptsioon, kus ühel nimel võib olla mitu vormi. Näiteks on teil suhtlemiseks nutitelefon. Valitud suhtlusviis võib olla ükskõik mis. See võib olla kõne, tekstisõnum, piltsõnum, e-kiri jne. Seega on eesmärk ühine, st suhtlemine, kuid lähenemisviis on erinev. Seda nimetatakse polümorfismiks.
Saate C# polümorfismist paremini mõista alloleva programmi näite abil:
C# polümorfismi näide
Vaatame nüüd, kuidas saame polümorfismi kontseptsiooni oma koodi lisada.
Step 1) Esimene samm on meie Tutorial klassi koodi muutmine. Selles etapis lisame faili Tutorial.cs alloleva koodi.
Code Selgitus:-
1 ja 2) Esimene samm on sama, mis meie varasemates näidetes. Me peameping SetTutorial meetodi definitsioon sellisena, nagu see on.
3) See meetod määrab TutorialID ja TutorialName parameetrite pID ja pName alusel.
4) Siin teeme oma klassis muudatuse, lisades uue meetodi sama nimega SetTutorial. Ainult seekord edastame ainult ühe parameetri, milleks on pName. Selle meetodi puhul seame lihtsalt välja TutorialName väärtuseks pName.
Step 2) Viimane samm on meie peamise Program.cs faili muutmine. Meie konsoolirakenduses loome objekti Guru99Õpetusklass.
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(); } } }
Code Selgitus:-
- Esimeses etapis kasutame meetodit SetTutorial 2 parameetriga. Kui me sellele meetodile edastame nii TutorialID kui ka TutorialName.
- Teises etapis kutsume nüüd SetTutorial meetodit ainult ühe parameetriga. Me anname sellele meetodile lihtsalt õpetuse nime.
Kui ülaltoodud kood on õigesti sisestatud ja programm käivitatakse, kuvatakse järgmine väljund. Kui soovite tuua ka õpetuse ID koos õpetuse nimega, peaksite järgima allolevat sammu
- Looge eraldi meetod nimega public int GetTutorialID
- Selle meetodi puhul kirjutage koodirida "return TutorialID". Seda saab kasutada TutorialID tagastamiseks helistavale programmile.
Väljund:
Väljundist näeme selgelt, et mõlemad meetodid kutsuti edukalt välja. Seetõttu saadeti konsooli stringid “First Tutorial” ja “Second Tutorial”.







