Obsah
Hlavní rozdíl
Přepisování a přetížení nejsou ty termíny, o kterých si myslíte, že jsou spojeny s přepravou těžkých vozidel. Vývojář softwaru nebo programátor ví, co pro ně tyto pojmy znamenají. Přepisování a přetížení jsou v zásadě spojeny s programovacími jazyky Java, C ++ a dalšími. Tyto funkce se používají k tomu, aby dávaly odlišný význam různým kon v programování. Níže jsou uvedeny podrobnosti obou termínů a jejich rozdílů.
Co je hlavní?
Přepisování je funkce v programovacím jazyce, která se používá k přiřazování stejných názvů metod ke stejným podpisům. V tomto systému poskytuje programátor specifickou metodu implementace pro podtřídu nebo podřízenou třídu, kterou již poskytuje nadřazené třídě nebo nadřazené třídě. Funguje ve dvou směrech, buď v nadřazené třídě, nebo v podřízené třídě. Například, pokud jsou některé změny provedeny v nadřazené třídě, budou přijaty také podřízenou třídou a naopak. Existuje také možnost zabránit metodě Přepnutí programátorem.
Co je přetížení?
Přetížení je funkce v programových jazycích, která k objektu přiřazuje více stejných jmen s různými implementacemi. V zásadě je používán těmi operátory, kteří se chovají jinak v případě změny typu dat, třídy a operandů. Mezi více programovacími jazyky podporuje přetěžování pouze C ++ a Java. Název funkce a přetížení operátora jsou dva různé druhy přetížení. Přetížení je implementováno v době kompilace na konkrétní třídě a převážně statické metody umožňují přetížení.
Klíčové rozdíly
- Nejprve je načasování implementace. Přetížení je implementováno v době kompilace, zatímco Overriding je implementováno za běhu.
- Statické metody mohou být přetíženy, ale nelze je potlačit. Protože třída nebo objekt může mít více než jednu statickou metodu se stejným názvem, což je možné při přetížení, nikoli při přepsání.
- Přetížení je spojeno s poskytováním implementace konkrétní třídě, takže ji lze provést ve stejné třídě, zatímco Overriding vyžaduje implementaci rodičovskou i podřízenou třídu.
- Statické vázání se používá v případě přetížení, zatímco pro potlačení se používá dynamické vázání.
- Přetížení poskytuje lepší výkon, protože se provádí za běhu, což není k dispozici v případě přepsání.
- Stejný typ dat je vyžadován v případě metody Overriding, zatímco v případě Overriding existuje stejný výběr.
- Overriding se používá v Ada, C #, C ++, Delphi, Eiffel, Java a Python, zatímco obvykle C ++ a Java umožňují přetížení.