Obsah:
- Kľúčový rozdiel - prepísanie vs preťaženie v C #
- Čo je prepísanie v C #?
- Čo je preťaženie v C #?
- Aká je podobnosť medzi prepísaním a preťažením v C #?
- Aký je rozdiel medzi prepísaním a preťažením v C #?
- Zhrnutie - Prepísanie vs preťaženie v C #
Video: Rozdiel Medzi Prepísaním A Preťažením V C
2024 Autor: Mildred Bawerman | [email protected]. Naposledy zmenené: 2023-12-16 08:42
Kľúčový rozdiel - prepísanie vs preťaženie v C #
Kľúčový rozdiel medzi prepísaním a preťažením v C # je ten, že väzba prepísaného volania metódy na jej definíciu sa deje za behu, zatiaľ čo väzba preťaženého volania metódy na jej definíciu sa deje v čase kompilácie.
C # je univerzálny programovací jazyk vyvinutý spoločnosťou Microsoft. Hlavnou výhodou C # je, že podporuje objektovo orientované programovanie (OOP). Jedným pilierom OOP je polymorfizmus. Dáva objektu viacnásobné správanie. Existujú dva typy polymorfizmu známe ako prepísanie a preťaženie. Tento článok pojednáva o rozdieloch medzi prepísaním metódy a preťažením v C #.
OBSAH
1. Prehľad a kľúčový rozdiel
2. Čo je prepísanie v C #
3. Čo je preťaženie v C #
4. Podobnosti medzi prepísaním a preťažením v C #
5. Porovnanie vedľa seba - prepísanie vs preťaženie v C # v tabuľkovej forme
6. Zhrnutie
Čo je prepísanie v C #?
V OOP existuje ešte jeden dôležitý koncept - dedičstvo. Je to použitie atribútov a metód už existujúcej triedy. Zlepšuje opätovné použitie kódu. Už existujúca trieda je základnou triedou a nová trieda je známa ako odvodená trieda. Pri prekonaní polymorfizmu by mala existovať základná trieda a odvodená trieda. K väzbe prepísaného volania metódy na definíciu dôjde za behu programu. Príklad je nasledovný.
Obrázok 01: Program C # s prepísaním
Podľa vyššie uvedeného programu je trieda Shape základnou triedou a obsahuje metódu zobrazenia. Trieda Obdĺžnik a Trojuholník sú odvodené triedy. Tieto odvodené triedy majú tiež rovnaké zobrazenie metódy s vlastnými implementáciami.
Najskôr sa vytvorí referenčná premenná obj. Ukazuje na objekt Tvar. Vykoná sa teda metóda zobrazenia triedy Shape. Potom referenčná premenná ukazuje na objekt Obdĺžnik. Vykoná sa teda metóda zobrazenia triedy Obdĺžnik. Nakoniec referenčná premenná ukazuje na objekt Triangle. Vykoná sa teda metóda zobrazenia triedy Triangle. Metóda zobrazenia základnej triedy je prepísaná metódami zobrazenia odvodených tried.
O spôsobe spustenia sa rozhoduje za behu. Trieda Shape je napísaná pomocou kľúčového slova „virtual“. Triedy Rectangle a Triangle sú písané kľúčovým slovom 'override'. Ak sa tieto kľúčové slová nepoužívajú, výstupom sa vytlačí obsah metódy zobrazenia triedy Tvar pre všetkých.
Čo je preťaženie v C #?
Pri preťažení má viac metód rovnaký názov, ale s rôznymi parametrami. Parametre môžu byť rôznych typov. Metódy môžu mať aj rôzny počet parametrov. Preťaženie metódy sa vyskytuje v rovnakej triede. Väzba preťažených metód na definíciu sa deje v čase kompilácie. Prečítajte si program C # uvedený nižšie.
Obrázok 02: Program C # s preťažením
Podľa vyššie uvedeného programu má trieda A dve metódy s rovnakým názvom, ktoré sa nazývajú sum. Majú rôzne typy parametrov. V hlavnom programe sa vytvorí objekt A. Súčet (2,3) vyvolá metódu súčtu s celými číslami. Súčet (5,1, 7,94) vyvolá metódu súčtu s dvojnásobnými hodnotami. Obidve metódy majú rovnaký názov a rovnaký počet parametrov. Ale typy parametrov sú rôzne. Podľa toho sa volá požadovaná metóda. K preťaženiu môže tiež dôjsť, ak sú názvy metód a typov parametrov rovnaké, ale počet parametrov je odlišný.
Aká je podobnosť medzi prepísaním a preťažením v C #?
Prepísanie aj preťaženie v C # sú typy polymorfizmu
Aký je rozdiel medzi prepísaním a preťažením v C #?
Rozdielny článok v strede pred tabuľkou
Prepísanie vs preťaženie v C # |
|
Prepísaním v C # je poskytnúť konkrétnu implementáciu v metóde odvodenej triedy pre metódu, ktorá už existuje v základnej triede. | Preťažením v C # je vytvorenie viacerých metód s rovnakým názvom s rôznymi implementáciami. |
Parametre | |
V C # Overriding majú metódy rovnaký názov, rovnaké typy parametrov a rovnaký počet parametrov. | V C # Overloading majú metódy rovnaký názov, ale iný počet parametrov alebo iný typ parametrov. |
Výskyt | |
V C # sa prepísanie vyskytuje v rámci základnej triedy a odvodenej triedy. | V C # sa preťaženie vyskytuje v rámci tej istej triedy. |
Čas viazania | |
Väzba prepísaného volania metódy na jej definíciu sa deje za behu programu. | Väzba preťaženého volania metódy na jej definíciu sa deje v čase kompilácie. |
Synonymá | |
Prepísanie sa nazýva runtime polymorfizmus, dynamický polymorfizmus alebo neskorá väzba. | Preťaženie sa nazýva polymorfizmus času kompilácie, statický polymorfizmus alebo skorá väzba. |
Zhrnutie - Prepísanie vs preťaženie v C #
Prepísanie a preťaženie sú dva typy polymorfizmu. Rozdiel medzi prepísaním a preťažením v C # je ten, že väzba prepísaného volania metódy na jej definíciu sa deje za behu, zatiaľ čo väzba preťaženého volania metódy na jej definíciu sa deje v čase kompilácie.
Odporúčaná:
Rozdiel Medzi Symetrickými A Asymetrickými špičkovými Molekulami
Kľúčovým rozdielom medzi symetrickými a asymetrickými hornými molekulami je to, že symetrické horné molekuly majú jednu správnu os otáčania a dva momenty zotrvačnosti
Rozdiel Medzi Prepísaním A Preťažením
Overriding vs Overloading Metóda Overriding a method Overloading sú dva koncepty / techniky / funkcie, ktoré sa nachádzajú v niektorých programovacích jazykoch. Obaja poč
Rozdiel Medzi Komunikáciou Medzi Zvieratami A ľuďmi
Komunikácia zviera vs. človek Prenos zmysluplných informácií je známy ako komunikácia a bola neoddeliteľnou súčasťou úspechu, a preto
Rozdiel Medzi Preťažením A Prepísaním V Jave
Kľúčový rozdiel - preťaženie a prepísanie v objektovo orientovanom programovaní Java (OOP) je hlavnou paradigmou vo vývoji softvéru. Ide o metodiku pre
Rozdiel Medzi Kľúčovým Rozdielom Medzi Kovovými A Nekovovými Minerálmi
Kľúčový rozdiel - kovové vs. nekovové minerály Minerál je prirodzene sa vyskytujúca tuhá a anorganická zložka s určitým chemickým vzorcom