Atšķirība starp virtuālo un abstrakto metodi

Galvenā atšķirība: abstraktās metodes ir metodes, kas tiek deklarētas, bet nav īstenotas. Virtuālās metodes tiek izmantotas, lai īstenotu tipa polimorfismu. Atvasinātajai klasei ir elastīga iespēja atkārtoti ieviest bāzes klases virtuālo metodi, izmantojot atslēgvārdu “ignorēt”.

C #, abstraktu atslēgvārdu var izmantot gan ar klasēm, gan metodēm. Abstrakcijas metodes ir tādas metodes, kurām nav jebkāda veida īstenošanas. Tomēr īstenošanas loģiku iegūst no abstraktajām klasēm, kas no tām iegūtas. Tas tiek panākts, ignorējot šo metodi. Tā kā nav faktiskas īstenošanas, metodes struktūra paliek tukša. Ir svarīgi atzīmēt, ka abstrakta metode ir iespējama tikai abstraktā klasē. Klases, kuras nevar inicializēt, sauc par abstraktajām klasēm. Klasei, kas pārņem no abstraktajām klasēm, ir jāīsteno visas abstraktā klasē atzītās metodes.

Piemēram -

publisks abstrakts klases piemērsAbstrakcijaClass

{

publisks abstrakts void exampleabstractMethod ();

publiska virtuālā tukšums, kas nav abstrakts metode ()

{

Console.WriteLine ("Īstenošana ir definēta metodē");

}

class normalNonAbstractClass: exampleAbstractClass

{

publiska ignorēšana void exampleabstractMethod ()

{

Console.WriteLine ("Priekšskatījums klases paraugaAb AbstractClass" eksāmenam);

}

}

Virtuālais ir arī atslēgvārds, kas saistīts ar metodes, īpašuma, indeksētāja vai notikuma deklarācijas modificēšanu. Šī atslēgvārda izmantošana ļauj mainīt deklarēto objektu atvasinātā klasē. Šajā piemērā atvasinātā klase ir ignorējusi bāzes klasē deklarēto virtuālo metodi.

klases bāze

{

publiska virtuālā tukšuma pārbaude ()

{

Console.WriteLine ("Base.Test");

}

}

klase Atvasinātie: Bāze

{

publiska ignorēšana tukšums Test ()

{

Console.WriteLine ("Derived.Test");

}

}

Virtuālās metodes tiek izmantotas, lai īstenotu tipa polimorfismu. Atvasinātajai klasei ir elastīga iespēja atkārtoti ieviest bāzes klases virtuālo metodi, izmantojot atslēgšanas atslēgvārdu. Gan virtuālo, gan abstrakto nevar izmantot kopā ar statiskiem vai virtuāliem vai ignorētājiem.

Virtuālās un abstraktās metodes salīdzinājums:

Virtuālā metode

Abstrakta metode

Definīcija

Virtuālās metodes tiek izmantotas, lai īstenotu tipa polimorfismu.

Abstrakcijas metodes ir metodes, kas tiek deklarētas, bet nav īstenotas.

Īstenošana

Jā, var būt īstenošana

Nē, nevar būt nekāda īstenošana

Nepieciešamība ir jānovērš

Nav obligāta

Obligāts

Atslēgvārds, ko izmanto, lai nošķirtu to no citu veidu metodēm

Virtuālā

Kopsavilkums

Klase

Klases, kas satur virtuālo metodi, var tikt demonstrētas.

Klasi, kas satur abstraktu metodi, nevar iztulkot. To var mantot tikai.

Darbības joma

Virtuālās metodes darbības joma tikai dalībniekiem.

Abstrakta metode attiecas uz dalībniekiem un klasēm.

Izpildāmā metode (objekta bāzes klases tips)

Vecāku īstenošana tiks aicināta tikai tad, ja konkrētajā klasē netiek īstenota.

Konkrēta īstenošana

Izpildāmā metode (objekta-konkrētā klase)

Konkrēta īstenošana

Konkrēta īstenošana

Ieteicams

Saistītie Raksti

  • atšķirība starp: Starpība starp Dual Core un Quad Core

    Starpība starp Dual Core un Quad Core

    Galvenā atšķirība: Divkodolu procesors ir centrālās procesora (CPU) tips, kam ir divi pilnīgi izpildes kodoli. Četrkodolu procesoriem ir četras neatkarīgas centrālās apstrādes iekārtas, kas var lasīt un izpildīt instrukcijas. Nepārtraukta datoru attīstība prasa, lai tā būtu ātrāka, spēcīgāka un labāka. Šī prasība ir kļuvusi par
  • atšķirība starp: Starpība starp Noteikumiem un Noteikumiem

    Starpība starp Noteikumiem un Noteikumiem

    Galvenā atšķirība: gan '' ņemot '', gan 'kur' ir klauzulas, kuras var izmantot SQL. Punkta “Kur” klauzula vispirms tiek piemērota atsevišķām rindām tabulās, izmantojot rindas, kas atbilst klauzulas nosacījumiem. Pēc tam rezultāta kopas rindās tiek izmantota klauzula “Ņemot”. Vaicājuma izvadā parād
  • atšķirība starp: Starpība starp Sony Xperia E un Nokia Lumia 520

    Starpība starp Sony Xperia E un Nokia Lumia 520

    Galvenā atšķirība: Sony Xperia E un E-Dual ir divi mobilā tālruņa tālruņi no Sony Mobile. Tālrunī ir 3, 5 TFT ietilpība, kurai ir ~ 165 ppi pikseļu blīvums. Tas ir aprīkots ar 1 GHz Cortex-A5 Qualcomm Snapdragon procesoru, Adreno 200 GPU un 512 MB RAM. Nokia Lumia 520 ir 4 collu IPS ietilpīgs skārienekrāns, kas piedāvā 480x800 pikseļu displeju, kas piedāvā aptuveni 233 ppi. Tālrunī ir 8 GB iekšē
  • atšķirība starp: Starpība starp artrītu un reimatoīdo artrītu

    Starpība starp artrītu un reimatoīdo artrītu

    Galvenā atšķirība: artrīts ir lietussargs dažādiem traucējumiem un stāvokļiem, kas ietekmē locītavas. Reimatoīdais artrīts ir iekaisuma veids artrīts. Tā ir autoimūna slimība, un to raksturo nopietni simptomi, piemēram, sāpes, stīvums, apetītes zudums un nogurums. Artrīta burtiskā nozīme ir “locītavas iekaisums”. Tā aptver vairāk nekā simts
  • atšķirība starp: Starpība starp Alcatel One Touch Idol Ultra un Nokia Lumia 820

    Starpība starp Alcatel One Touch Idol Ultra un Nokia Lumia 820

    Galvenā atšķirība: Alcatel One Touch Idol Ultra ir 4, 65 collu HD AMOLED kapacitatīvais skārienekrāns ar izšķirtspēju 720 x 1280 pikseļi. Tālrunis ir aprīkots ar Dual-core 1, 2 GHz procesoru, izmantojot MediaTek MTK 6577 un 1 GB RAM. Tālruņa platums ir 6, 45 mm, kas ir novedis pie tā, ka uzņēmums to dara par plānāko viedtālruni tirgū. Viens no pirmajiem v
  • atšķirība starp: Atšķirība starp Apple Watch un Android Wear

    Atšķirība starp Apple Watch un Android Wear

    Galvenā atšķirība: Apple Watch ir viedtālrunis, kas ir saderīgs ar iPhone modeļiem. Android Wear ir Android OS, kas tiek izmantota viedtālruņos, piemēram, Motorola Moto 360. Mūsdienu pasaulē tehnoloģija ir galvenā, un daudzi uzņēmumi tagad cenšas to padarīt pieejamāku ar dažādām ierīcēm. Viedtālruņu uzņēmumi t
  • atšķirība starp: Starpība starp Nexus 7 un Nexus 10

    Starpība starp Nexus 7 un Nexus 10

    Galvenā atšķirība: Nexus 7 ir planšetdators, kurā darbojas operētājsistēma Android 4.1 (saukta arī par Jelly Bean). Tā tika izstrādāta sadarbībā ar Asus. Nexus 10 ir planšetdators, kurā darbojas operētājsistēma Android 4.2 (ar nosaukumu Jelly Bean), kas tika izlaista ar to. Tā tika izstrādāta sadarbībā ar Samsung. Ar pastāvīgu tehnoloģij
  • atšķirība starp: Atšķirība starp jutību un uztveri

    Atšķirība starp jutību un uztveri

    Galvenā atšķirība: sajūtas ir mūsu vides lietas, kuras reģistrē pieci galvenie sensorie orgāni. Sensācija ir tas, ko mēs redzam, dzirdam, smaržām, garšo un jūtam. Uztvere ir, kā mēs interpretējam šīs sajūtas. Uztvere palīdz mums izjust mūsu sajūtas. Vārdi “sajūta” un “uztvere” ir savstarpēji saistīti, tāpēc abu vārdu definīcija ir samērā vienkārša. Sensācija būtībā ir “sajūta”, ko mēs jūtam
  • atšķirība starp: Starpība starp Joomla 1.5 un Joomla 2.5

    Starpība starp Joomla 1.5 un Joomla 2.5

    Galvenā atšķirība: Joomla 1.5 tika izlaists 2008. gada 22. janvārī, savukārt Joomla 2.5 tika izlaists 2012. gada 24. janvārī. Joomla! ir satura vadības sistēma, kas ļauj lietotājiem veidot tīmekļa vietnes no zemes uz augšu, nemācot pamata programmēšanas valodu. Šī CMS ir domāta cilvēkiem, kas nav labi pārzinājuši neko, kas saistīts ar tīmekļa vietņu izstrādi, bet vēlas to darīt paši. Tas atvieglo tīmekļa vietņu izve

Redaktora Izvēle

Starpība starp Gorilla Glass un AMOLED

Galvenā atšķirība: AMOLED ir ekrāna veids, ko izmanto plaša patēriņa elektronikā, piemēram, viedtālruņos, planšetdatoros un klēpjdatoros. Gorilla Glass ir aizsardzības veids, kas tiek izmantots ekrānā. Patērētāju elektronika, piemēram, viedtālruņi, planšetdatori un klēpjdatori, šajās dienās ir ļoti populāra. Faktiski šie produkti sastāv