C # Mantojums & Polimorfisms ar piemēriem

Satura rādītājs:

Anonim

Šajā apmācībā jūs uzzināsiet

  • Mantojums
  • Polimorfisms

Kas ir mantojums C #?

Mantošana ir svarīgs jēdziens C #. Mantošana ir jēdziens, kurā jūs definējat vecāku klases un bērnu klases.

Bērnu klases pārmanto vecāku klases metodes un īpašības, bet tajā pašā laikā, ja nepieciešams, tās var arī modificēt metožu uzvedību. Ja nepieciešams, bērnu klase var definēt arī savas metodes.

Jūs labāk sapratīsit, ja redzēsim šo darbību.

Tagad redzēsim, kā mēs varam iekļaut mantojuma jēdzienu savā kodeksā.

1. solis . Pirmais solis ir mainīt mūsu apmācības klases kodu. Šajā solī mēs pievienojam zemāk redzamo kodu failam Tutorial.cs.

Ņemiet vērā, ka mums tagad laukam TutorialID un TutorialName ir jāpievieno 'aizsargāta' piekļuves modifikators.

Atcerieties, ka mēs šo piekļuves modifikatoru pieminējām Access Modifier apmācībā. Nu šeit jūs varat redzēt šī mērķa mērķi. Tikai tad, kad jums ir šis piekļuves modifikators (aizsargāts), bērnu klase varēs izmantot vecāku klases laukus.

2. solis . Otrais solis ir pievienot mūsu jauno bērnu klasi. Šīs klases nosaukums būs "Guru99Tutorial". Šajā solī mēs pievienojam zemāk redzamo kodu failam Tutorial.cs. Kods jānovieto pēc klases Apmācība definīcijas.

Koda skaidrojums: -

  1. Pirmais solis ir izveidot bērnu klasi Guru99Tutorial. Mums arī jāpiemin, ka šī klase būs apmācības klases bērnu klase. To veic atslēgvārds ':'.
  2. Tālāk mēs definējam metodi ar nosaukumu RenameTutorial. To izmantos, lai pārdēvētu lauku TutorialName. Šī metode pieņem virknes mainīgo, kurā ir apmācības jaunais nosaukums.
  3. Pēc tam laukam TutorialName piešķirām parametru pNewName.

    Piezīme : - Kaut arī klasē "Guru99Tutorial" mēs neesam definējuši lauku TutorialName, mēs tomēr varam piekļūt šim laukam. Tas ir saistīts ar faktu, ka "Guru99Tutorial" ir apmācības klases bērnu klase. Tā kā mēs apmācības klases laukus padarījām par aizsargātiem, tiem var piekļūt šī klase.

3. solis . Pēdējais solis ir pārveidot mūsu galveno programmu.cs. Savā konsoles lietojumprogrammā mēs izgatavosim Guru99Tutorial klases objektu. Ar šo objektu mēs izsauksim metodi RenameTutorial. Pēc tam mēs ar GetTutorial metodes palīdzību parādīsim lauku TutorialName.

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();}}}

Koda skaidrojums: -

  1. Pirmais solis ir objekta izveide Guru99Tutorial klasei. Tas tiek darīts, izmantojot “jauno” atslēgvārdu. Ņemiet vērā, ka šoreiz mēs neveidojam klases Pamācība objektu.
  2. Lai mainītu lauku TutorialName, mēs izmantojam klases Guru99Tutorial metodi RenameTutorial. Mēs nododam virkni ".Net by Guru99" RenameTutorial metodei.
  3. Pēc tam mēs saucam par GetTutorial metodi. Ņemiet vērā, ka, kaut arī Guru99Tutorial klasē šī metode nav definēta, mēs tomēr varam piekļūt šai metodei. Pēc tam metodes GetTutorial izeja tiek parādīta konsolē, izmantojot metodi Console.WriteLine.

Ja iepriekšējais kods ir ievadīts pareizi un programma tiek veiksmīgi izpildīta, tiks parādīta šāda izeja.

Izeja:

Pēc izejas mēs skaidri redzam, ka lauku TutorialName pārdēvēja par ".Net by Guru99". Tas bija iespējams, izmantojot RenameTutorial metodi, kuru sauca bērnu klase.

Kas ir polimorfisms C #?

Polimorfisms ir OOP jēdziens, kurā vienam nosaukumam var būt dažādas formas.

Piemēram, saziņai ir viedtālrunis. Jūsu izvēlētais saziņas režīms varētu būt jebkas. Tas var būt zvans, īsziņa, grafiskā īsziņa, pasts utt. Tātad kopīgs mērķis ir saziņa, taču viņu pieeja ir atšķirīga. To sauc par polimorfismu.

Jūs labāk sapratīsit, ja redzēsim šo darbību.

Tagad redzēsim, kā mēs varam iekļaut polimorfisma jēdzienu savā kodeksā.

1. solis . Pirmais solis ir mainīt mūsu apmācības klases kodu. Šajā solī mēs pievienojam zemāk redzamo kodu failam Tutorial.cs.

Koda skaidrojums: -

1. un 2.) Pirmais solis ir tāds pats kā mūsu iepriekšējos piemēros. Mēs saglabājam SetTutorial metodes definīciju, kāda tā ir.

3) Šī metode nosaka TutorialID un TutorialName, pamatojoties uz parametriem pID un pName.

4) Šeit mēs veicam izmaiņas savā klasē, pievienojot jaunu metodi ar tādu pašu SetTutorial nosaukumu. Tikai šoreiz mēs nododam tikai vienu parametru, kas ir pName. Šajā metodē mēs tikai iestatām lauka TutorialName vērtību pName.

2. solis . Pēdējais solis ir pārveidot mūsu galveno programmu.cs. Savā konsoles lietojumprogrammā mēs izgatavosim Guru99Tutorial klases objektu.

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();}}}

Koda skaidrojums: -

  1. Pirmajā posmā mēs izmantojam SetTutorial metodi ar 2 parametriem. Kur mēs šai metodei nododam gan TutorialID, gan TutorialName.
  2. Otrajā solī tagad mēs saucam SetTutorial metodi tikai ar vienu parametru. Mēs tikai nododam TutorialName šai metodei.

Ja iepriekš ievadītais kods ir ievadīts pareizi un programma tiek palaista, tiks parādīta šāda izeja. Ja gadījumā, ja vēlaties arī ielādēt apmācības ID kopā ar apmācības nosaukumu, veiciet šo darbību

  1. Izveidojiet atsevišķu metodi ar nosaukumu public int GetTutorialID
  2. Šajā metodē ierakstiet koda rindiņu "return TutorialID". To var izmantot, lai atgrieztu TutorialID zvanīšanas programmā.

Izeja:

Pēc izejas mēs skaidri redzam, ka abas metodes tika veiksmīgi izsauktas. Tāpēc virknes "Pirmā apmācība" un "Otrā apmācība" tika nosūtītas uz konsoli.

Kopsavilkums

  • Mantošana ir vieta, kur bērnu klase pārmanto vecāku klases laukus un metodes. Pēc tam bērnu klase var definēt arī savas metodes.
  • Polimorfisms ir OOP jēdziens, kurā vienam nosaukumam var būt dažādas formas.