Skirtumas Tarp Svarbesnių Ir Perkrovų C

Turinys:

Skirtumas Tarp Svarbesnių Ir Perkrovų C
Skirtumas Tarp Svarbesnių Ir Perkrovų C

Video: Skirtumas Tarp Svarbesnių Ir Perkrovų C

Video: Skirtumas Tarp Svarbesnių Ir Perkrovų C
Video: skiepijimas a medis su vienas akis Transplantantas Inkstas vasarą pumpuras transplantantas 2024, Lapkritis
Anonim

Pagrindinis skirtumas - svarbesnis nei perkrovimas C #

Pagrindinis skirtumas tarp nepaisymo ir perkrovimo C # yra tas, kad nepaisomo metodo iškvietimo susiejimas su jo apibrėžimu vyksta vykdymo metu, o perkrauto metodo iškvietimo susiejimas su jo apibrėžimu - kompiliavimo metu.

C # yra bendrosios paskirties programavimo kalba, kurią sukūrė „Microsoft“. Pagrindinis C # pranašumas yra tai, kad jis palaiko objektų programavimą (OOP). Vienas iš OOP ramsčių yra polimorfizmas. Tai suteikia objektui įvairų elgesį. Polimorfizme yra du tipai, vadinami viršenybe ir perkrova. Šiame straipsnyje aptariamas metodo nepaisymo ir perkrovos skirtumas C #.

TURINYS

1. Apžvalga ir pagrindinis skirtumas

2. Kas yra svarbiausia C #

3. Kas yra perkrova C #

4. Perkėlimo ir perkrovimo C #

5 panašumai. Gretinamasis palyginimas - nepaisymas ir perkrovimas C # lentelėje

6 santrauka.

Kas yra svarbiausia C #?

OOP yra viena kita svarbi sąvoka yra paveldėjimas. Tai naudoti jau esamos klasės atributus ir metodus. Tai pagerina kodo pakartotinį naudojimą. Jau esanti klasė yra pagrindinė klasė, o naujoji klasė vadinama išvestine klase. Nepaisant polimorfizmo, turėtų būti pagrindinė klasė ir išvestinė klasė. Nepaisomo metodo iškvietimo susiejimas su apibrėžimu vyksta vykdymo metu. Pavyzdys yra toks.

Skirtumas tarp svarbesnių ir perkrovų C #
Skirtumas tarp svarbesnių ir perkrovų C #

01 pav. C # programa su nepaisymu

Pagal pirmiau pateiktą programą „Shape“klasė yra pagrindinė klasė, joje pateikiamas rodymo metodas. Klasės stačiakampis ir trikampis yra išvestinės klasės. Šios išvestinės klasės taip pat turi tą patį metodo vaizdą su savo diegimais.

Pirmiausia sukuriamas referencinis kintamasis obj. Tai rodo objektą „Forma“. Taigi, bus vykdomas „Shape“klasės rodymo metodas. Tada pamatinis kintamasis nurodo objektą Stačiakampis. Taigi bus vykdomas „Stačiakampio“klasės rodymo metodas. Galiausiai pamatinis kintamasis rodo objektą Trikampis. Taigi bus vykdomas „Trikampio“klasės rodymo metodas. Bazinės klasės rodymo metodas yra nepaisomas išvestinių klasių rodymo metodais.

Būdas paleisti nusprendžiamas vykdymo metu. „Shape“klasė parašyta naudojant „virtualų“raktinį žodį. Stačiakampio ir trikampio klasės rašomos naudojant „nepaisyti“raktinį žodį. Jei šie raktiniai žodžiai nebus naudojami, išvestis visiems atspausdins „Shape“klasės rodymo metodo turinį.

Kas yra perkrovimas C #?

Perkraunant, keli metodai turi tą patį pavadinimą, bet su skirtingais parametrais. Parametrai gali būti skirtingų tipų. Metodai taip pat gali turėti skirtingą parametrų skaičių. Metodo perkrova įvyksta toje pačioje klasėje. Perkrautų metodų susiejimas su apibrėžimu vyksta kompiliavimo metu. Žiūrėkite žemiau esančią C # programą.

Pagrindinis skirtumas tarp nepaisomų ir perkrovų C #
Pagrindinis skirtumas tarp nepaisomų ir perkrovų C #

02 pav. C # programa su perkrova

Pagal minėtą programą A klasė turi du metodus tuo pačiu pavadinimu, vadinamą suma. Jie turi skirtingų tipų parametrus. Pagrindinėje programoje yra sukurtas A objektas. Suma (2,3) iškvies sumos metodą su sveikaisiais skaičiais. Suma (5.1, 7.94) naudos sumos metodą su dvigubomis reikšmėmis. Abu metodai turi tą patį pavadinimą ir tą patį parametrų skaičių. Tačiau parametrų tipai yra skirtingi. Atitinkamai vadinamas reikalingas metodas. Perkrovimas taip pat gali įvykti, jei metodų pavadinimai ir parametrų tipai yra vienodi, bet parametrų skaičius skiriasi.

Kuo viršijamas ir perkraunamas panašumas C #?

Tiek viršijantis, tiek perkraunamas C # yra polimorfizmo tipai

Koks skirtumas tarp nepaisymo ir perkrovos C #?

Skirtingas straipsnis viduryje prieš lentelę

Nepaisoma prieš perkraunant C #

C # svarbiausia yra suteikti konkretų metodą išvestinės klasės metodui, kuris jau egzistuoja bazinėje klasėje. Perkrovimas C # yra sukurti kelis metodus tuo pačiu pavadinimu su skirtingais diegimais.
Parametrai
C # Nepaisydami metodai turi tą patį pavadinimą, tuos pačius parametrų tipus ir tą patį parametrų skaičių. C # perkraunant metodai turi tą patį pavadinimą, bet skirtingą parametrų skaičių arba kitokio tipo parametrus.
Pasitaikymas
C # atveju svarbiausia yra pagrindinėje klasėje ir išvestinėje klasėje. C # atveju perkrova įvyksta toje pačioje klasėje.
Privalomas laikas
Nepaisomo metodo iškvietimo susiejimas su jo apibrėžimu vyksta vykdymo metu. Perkrauto metodo iškvietimo susiejimas su jo apibrėžimu vyksta kompiliavimo metu.
Sinonimai
Nepaisymas vadinamas vykdymo laiko polimorfizmu, dinaminiu polimorfizmu ar vėlyvuoju susiejimu. Perkrovimas vadinamas kompiliuojančiu laiko polimorfizmu, statiniu polimorfizmu ar ankstyvu susiejimu.

Santrauka - viršijantis ir perkrautas C #

Nepaisymas ir perkrova yra dvi polimorfizmo rūšys. Skirtumas tarp nepaisymo ir perkrovimo C # yra tas, kad viršijamo metodo iškvietimo susiejimas su jo apibrėžimu vyksta vykdymo metu, o perkrauto metodo iškvietimo susiejimas su jo apibrėžimu - kompiliavimo metu.

Rekomenduojama: