Šioje pamokoje sužinosite
- Paveldėjimas
- Polimorfizmas
Kas yra paveldimumas C #?
Paveldėjimas yra svarbi C # sąvoka. Paveldėjimas yra sąvoka, pagal kurią jūs apibrėžiate tėvų klases ir vaikų klases.
Vaikų klasės paveldi tėvų klasės metodus ir savybes, tačiau tuo pačiu metu, jei reikia, jos taip pat gali modifikuoti elgseną. Vaikų klasė taip pat gali apibrėžti savo metodus, jei to reikia.
Geriau suprasite, jei pamatysime šį veiksmą.
Pažiūrėkime, kaip mes galime paveldėjimo sąvoką įtraukti į savo kodą.
1 žingsnis) Pirmiausia reikia pakeisti „Tutorial“ klasės kodą. Šiame žingsnyje mes įtraukiame žemiau esantį kodą į failą „Tutorial.cs“.
Atkreipkite dėmesį, kad dabar turime pridėti „apsaugoto“ prieigos modifikatorių tiek laukuose „TutorialID“, tiek „TutorialName“.
Atminkite, kad mes paminėjome šį prieigos modifikatorių „Access Modifier“ pamokoje. Na, čia galite pamatyti šio tikslo tikslą. Tik turėdami šį prieigos modifikatorių (apsaugotą), vaikų klasė galės naudoti tėvų klasės laukus.
2 žingsnis) Antras žingsnis - pridėti naują mūsų vaikų klasę. Šios klasės pavadinimas bus „Guru99Tutorial“. Šiame žingsnyje mes įtraukiame žemiau esantį kodą į failą „Tutorial.cs“. Kodas turėtų būti dedamas po „Tutorial“ klasės apibrėžimo.
Kodo paaiškinimas: -
- Pirmas žingsnis - sukurti „Guru99Tutorial“ vaikų klasę. Taip pat turime paminėti, kad ši klasė bus Vaikų pamokos pamoka. Tai atliekama raktiniu žodžiu „:“.
- Toliau mes apibrėžiame metodą, pavadintą „RenameTutorial“. Jis bus naudojamas pervadinti lauką „TutorialName“. Šis metodas priima eilutės kintamąjį, kuriame yra naujas pamokos pavadinimas.
- Tada laukui „TutorialName“ priskyrėme parametrą „pNewName“.
Pastaba : - Nors klasėje „Guru99Tutorial“ mes neapibrėžėme lauko „TutorialName“, vis tiek galime pasiekti šį lauką. Taip yra dėl to, kad „Guru99Tutorial“ yra „Tutorial“ klasės vaikų klasė. Kadangi „Tutorial“ klasės laukus padarėme saugomus, ši klasė juos gali pasiekti.
3 žingsnis) Paskutinis žingsnis yra modifikuoti mūsų pagrindinį „Program.cs“ failą. Savo konsolės programoje mes padarysime „Guru99Tutorial“ klasės objektą. Šiuo objektu mes vadinsime RenameTutorial metodą. Tada mes parodysime lauką „TutorialName“, naudodami „GetTutorial“ metodą.
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();}}}
Kodo paaiškinimas: -
- Pirmas žingsnis - sukurti objektą „Guru99Tutorial“ klasei. Tai daroma naudojant „naują“ raktinį žodį. Atkreipkite dėmesį, kad šį kartą mes nekuriame „Tutorial“ klasės objekto.
- Norėdami pakeisti lauką „TutorialName“, naudojame „Guru99Tutorial“ klasės metodą „RenameTutorial“. Mes perduodame eilutę „.Net by Guru99“ RenameTutorial metodui.
- Tada mes vadiname „GetTutorial“ metodą. Atkreipkite dėmesį, kad nors šis metodas nėra apibrėžtas „Guru99Tutorial“ klasėje, mes vis tiek galime pasiekti šį metodą. Tada metodas „GetTutorial“ išvestis rodoma konsolei naudojant „Console.WriteLine“ metodą.
Jei aukščiau nurodytas kodas įvestas tinkamai ir programa sėkmingai vykdoma, bus rodoma ši išvestis.
Išvestis:
Iš išvesties galime aiškiai pamatyti, kad laukas „TutorialName“ buvo pervadintas į „.Net by Guru99“. Tai tapo įmanoma naudojant „RenameTutorial“ metodą, kurį iškvietė vaikų klasė.
Kas yra polimorfizmas C #?
Polimorfizmas yra OOP sąvoka, kai vienas vardas gali turėti daugybę formų.
Pavyzdžiui, turite bendravimui skirtą išmanųjį telefoną. Jūsų pasirinktas ryšio būdas gali būti bet koks. Tai gali būti skambutis, tekstinis pranešimas, grafinis pranešimas, paštas ir kt. Taigi, bendras tikslas yra bendravimas, tačiau jų požiūris skiriasi. Tai vadinama polimorfizmu.
Geriau suprasite, jei pamatysime šį veiksmą.
Pažiūrėkime, kaip mes galime įtraukti polimorfizmo sąvoką į savo kodą.
1 žingsnis) Pirmiausia reikia pakeisti „Tutorial“ klasės kodą. Šiame žingsnyje mes įtraukiame žemiau esantį kodą į failą „Tutorial.cs“.
Kodo paaiškinimas: -
1 ir 2) Pirmasis žingsnis yra tas pats, kas ankstesniuose pavyzdžiuose. Mes laikomės „SetTutorial“ metodo apibrėžimo, koks jis yra.
3) Šis metodas nustato „TutorialID“ ir „TutorialName“, remdamasis parametrais pID ir pName.
4) Čia mes pakeičiame savo klasę, kur pridedame naują metodą tuo pačiu pavadinimu „SetTutorial“. Tik šį kartą mes perduodame tik vieną parametrą, kuris yra pName. Taikydami šį metodą, mes tiesiog nustatome „TutorialName“ lauką į „pName“.
2 žingsnis) Paskutinis žingsnis yra modifikuoti mūsų pagrindinį „Program.cs“ failą. Savo konsolės programoje mes padarysime „Guru99Tutorial“ klasės objektą.
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();}}}
Kodo paaiškinimas: -
- Pirmame etape naudojame „SetTutorial“ metodą su 2 parametrais. Kur mes perduodame šiam metodui ir „TutorialID“, ir „TutorialName“.
- Antrame etape mes dabar vadiname „SetTutorial“ metodą tik vienu parametru. Mes tiesiog perduodame „TutorialName“ šiam metodui.
Jei aukščiau nurodytas kodas įvestas tinkamai ir programa vykdoma, bus rodoma tokia išvestis. Jei tuo atveju, jei taip pat norėtumėte gauti pamokos ID kartu su pamokos pavadinimu, turėtumėte atlikti toliau nurodytą veiksmą
- Sukurkite atskirą metodą, vadinamą public int GetTutorialID
- Tuo metodu parašykite kodo eilutę „grąžinti„ TutorialID “. Tai gali būti naudojama norint grąžinti „TutorialID“ į skambinimo programą.
Išvestis:
Iš išvesties galime aiškiai pamatyti, kad abu metodai buvo sėkmingai iškviesti. Dėl to eilutės „Pirmoji pamoka“ ir „Antroji pamoka“ buvo išsiųstos į konsolę.
Santrauka
- Paveldėjimas yra tas, kur vaikų klasė paveldi tėvų klasės laukus ir metodus. Vaiko klasė taip pat gali apibrėžti savo metodus.
- Polimorfizmas yra OOP sąvoka, kai vienas vardas gali turėti daugybę formų.