Co je přetížení metody?

Přetížení metody

Metoda 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.

Jednoduchým příkladem přetížení metody by byla metoda, která vypočítává oblast čtverce. Může být definována jako getrearea (čtvercové). Tato metoda by mohla být přetížena, aby se navíc vypočítala oblast kruhu přidáním metody getArea (kruh C).

Primárním požadavkem pro přetížení metody je to, že metody sdílejí stejné jméno. Jejich podpisy metody - název metody, počet parametrů a typy datů parametrů - by jinak měly být jedinečné. Tímto způsobem, thKompilátor E může určit, kterou metodu 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ý nastaví pole názvu, ale ponechává pole DOB prázdné a třetí definuje jak název, tak pole DOB.

Přetížení metody

Metoda se nejčastěji provádí tak, 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 tak, aby pracoval na jiných tvarech - trojúhelníky, lichoběžníky, and tak dále - a přesto se logicky prezentuje jako jediná metoda.

Metody jsou také přetíženy pro zachování zpětné kompatibility. 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 - stará cesta nebo nový způsob.

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 zavolá upravenou metodu a předá nový parametr s příslušnou hodnotou, starou nebo novou cestou.

Metoda přetížení je typ polymorfismu, ve kterém může být stejná logická metoda v praxi používána více způsoby. MěPřetížení přetížení 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.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?