Skip to main content

Co je přetížení metody?

Metoda přetížení je funkce ve většině objektově orientovaných programovacích jazyků, ve kterých dvě nebo více metod sdílejí stejné jméno, ale mají různé parametry.Konkrétně se liší číslo, datový typ a/nebo pořadí parametrů.Když je kód kompilován, bude správná metoda vybrána automaticky na základě toho, jak se nazývá.Metody jsou také známé jako funkce v některých programovacích jazycích, takže přetížení metody je někdy označováno jako přetížení funkce.Může být definována jako getrearea (čtvercové).Tato metoda by mohla být přetížena tak, aby se navíc vypočítala oblast kruhu přidáním metody getArea (kruh C).Jejich podpisy jejich metody mdash;Název metody, počet parametrů a typy datových parametrů mdash;Jinak by měl být jedinečný.Tímto způsobem může kompilátor určit, která metoda provést.

Konstruktory, metody používané k instanci objektů, jsou často přetíženy.To se provádí pro inicializaci objektu s hodnotami bez deface.Například zaměstnanecký objekt se dvěma poli (jméno a datum narození nebo DOB) může mít následující přetížené konstruktory: zaměstnanec (), zaměstnanec (jméno) a zaměstnanec (jméno, DOB).První konstruktor vytváří objekt zaměstnance s prázdným názvem a Poly DOB.Druhé nastavuje pole názvu, ale ponechává pole DOB Blank a třetí definuje jak název, tak pole DOB. Přetížení metody

se nejčastěji provádí, aby se více než jedna metoda objevila logicky jako jediná metoda.V příkladu GetArea (), zatímco existují fyzicky dvě metody, volajícímu je prezentován s jedinou logickou metodou GetArea ().Tímto způsobem lze GetArea () rozšířit na práci na jiných tvarech mdash;trojúhelníky, lichoběžníky atd.ačkoli se stále logicky prezentuje jako jediná metoda.Metoda, která provádí komplexní výpočet, by mohla být poskytnuta nový požadavek na volitelně provedení stejného výpočtu s mírnou změnou.K metodě je přidán nový parametr, který určí, jak provést výpočet mdash;Stará cesta nebo nová cesta.

Aby nedošlo k museli najít všechny případy, ve kterých je metoda volána, a přidat nový parametr, metodu lze přetížit.Nová metoda bude mít starý podpis a bude volána existujícím kódem.Nebude obsahovat samotnou logiku a jednoduše zavolá modifikovanou metodu a předává výchozí „starý způsob“ pro nový parametr.Nový kód volá modifikovanou metodu a předá nový parametr s příslušnou hodnotou, starým způsobem nebo novým způsobem.

Metoda přetížení je typ polymorfismu, ve kterém lze stejnou logickou metodu v praxi používat více způsoby.Přetížení metody není stejné jako převažující metoda.Převažování metody je místo, kde se definice metody v rodičovské třídě změní dětskou třídou.V tomto případě budou mít obě metody stejný podpis.