Video: Rozdiel Medzi Prepísaním A Preťažením
2024 Autor: Mildred Bawerman | [email protected]. Naposledy zmenené: 2023-12-16 08:42
Prekonanie vs Preťaženie
Metóda Overriding a method Overloading sú dva koncepty / techniky / funkcie, ktoré sa nachádzajú v niektorých programovacích jazykoch. Oba koncepty umožňujú programátorovi poskytnúť rôzne implementácie pre metódy s rovnakým názvom. Prepísanie metódy umožňuje programátorovi poskytnúť alternatívnu implementáciu v rámci podtriedy k metóde, ktorá je už definovaná v jej super triede. Preťaženie metód umožňuje programátorovi poskytovať rôzne implementácie do viacerých metód s rovnakým názvom (v rámci rovnakej triedy).
Čo je to prvoradé?
Ako bolo uvedené vyššie, trieda môže v objektovo orientovaných programovacích jazykoch rozšíriť super triedu alebo nadradenú triedu. Podradená trieda môže mať svoje vlastné metódy alebo môže voliteľne mať svoje vlastné implementácie do metód už definovaných v jej nadradenej triede (alebo v jednej z jej tried nadradeného rodiča). Keď teda dôjde k druhému, nazýva sa to prepísanie metódy. Inými slovami, ak podradená trieda poskytuje implementáciu metóde s rovnakým typom podpisu a návratu ako metóda už definovaná v jednej z jej nadradených tried, hovorí sa, že táto metóda je prepísaná (nahradená) implementáciou podradenej triedy.. Takže ak v triede existuje prepísaná metóda, bude sa musieť runtime systém rozhodnúť, ktorá implementácia metódy sa použije. Tento problém je vyriešený pohľadom na presný typ objektu, ktorý sa používa na jeho vyvolanie. Ak sa na vyvolanie prepísanej metódy použije objekt nadradenej triedy, použije sa implementácia v nadradenej triede. Podobne, ak sa používa objekt podradenej triedy, použije sa implementácia podradenej triedy. Moderné programovacie jazyky ako Java, Eifell, C ++ a Python umožňujú prepísanie metódy.
Čo je to preťaženie?
Preťaženie metódy je funkcia poskytovaná niektorými programovacími jazykmi na vytvorenie viac ako jednej metódy s rovnakým názvom, ale s rôznymi typmi vstupu a výstupu. V moderných programovacích jazykoch, ako sú Java, C #, C ++ a VB. NET, je táto funkcia k dispozícii. Metódu môžete preťažiť vytvorením inej metódy s rovnakým názvom, ale s iným podpisom metódy alebo iným návratovým typom (alebo oboma). Napríklad, ak máte method1 (typ1 t1) a method1 (typ2 t2) vo vnútri tej istej triedy, sú preťažené. Potom bude systém musieť rozhodnúť, ktorý z nich sa má po vyvolaní vykonať. Táto diferenciácia sa robí sledovaním typu parametrov, ktoré boli odovzdané metóde. Ak je argument typu 1, potom sa volá prvá implementácia, zatiaľ čo ak je typu 2, volá sa druhá implementácia.
Aký je rozdiel medzi prepísaním a preťažením?
Aj keď sa na poskytnutie metódy s rôznymi implementáciami používa prepísanie metódy a preťaženie metódy, medzi týmito dvoma konceptmi / technikami existujú kľúčové rozdiely. V prvom rade predmety prepísania metódy vždy zostávajú v rôznych triedach, zatiaľ čo subjekty preťaženia metódy zostávajú v tej istej triede. To znamená, že prepísanie je možné iba v objektovo orientovaných programovacích jazykoch, ktoré umožňujú dedenie, zatiaľ čo preťaženie môže byť k dispozícii aj v neobjektovom jazyku. Inými slovami, prepíšete metódu v super triede, ale preťažíte metódu vo svojej vlastnej triede.
Ďalším rozdielom je, že prepísané metódy majú rovnaký názov metódy, podpis metódy a návratový typ, ale preťažené metódy sa musia líšiť buď v podpisovom, alebo v návratovom type (názov by mal byť rovnaký). Na rozlíšenie dvoch prepísaných metód sa použije presný typ objektu, ktorý sa použije na vyvolanie použitej metódy id, zatiaľ čo na rozlíšenie dvoch preťažených metód sa použijú typy parametrov. Ďalším kľúčovým rozdielom je, že preťaženie je vyriešené v čase kompilácie, zatiaľ čo prepísanie je vyriešené za behu.
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 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 Prepísaním A Preťažením V C
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 # spočíva v tom, že väzba prepísanej metódy cal
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