Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Preťažené metódy poskytujú programátorom flexibilitu volať podobnú metódu pre rôzne typy dát . Ak pracujete na matematiku programu , napríklad , môžete použiť preťaženie vytvoriť niekoľko " násobenie " tried , z ktorých každá násobí iný počet typu argumentu : najjednoduchšie " násobiť ( int a , int b ) " ; násobí dve celé čísla , zložitejšie spôsob " multiply ( double , int b , int c) " násobí jeden dvojlôžková podľa dvoch celých čísel - potom mohli nazvať " násobiť " na akúkoľvek kombináciu premenných , ktoré ste vytvorili preťažený spôsob a získať správne výsledky .
konštruktérov
Preťaženie je tiež používaný na konštruktérov k vytvoreniu novej objekty uvedené rôzne množstvo dát . Napríklad , môžete použiť preťaženiu vytvoriť tri rôzne konštruktory pre " dom " objekt s číslom domu , názov ulice a farebných premenných . Najjednoduchšie konštruktor " Dom ( ) " trvá žiadne argumenty a vytvára dom s východiskovým alebo prázdnymi premenných . Zložitejšie konštruktér , " dom ( int číslo domu , String Ulica ) , " vytvára dom so zadaným číslom domu a názov ulice , ale v prípade neplnenia alebo prázdne farby . Najzložitejšie konštruktor , " dom ( int číslo domu , String Ulica , String farba ) , " vytvára dom so všetkými zadané informácie , takže nič ako predvolené . Dalo by sa teda vytvoriť objekt dom na základe informácií dostupných v súčasnosti , s nedostupný informácie ponechané prázdne , alebo pri predvolenom nastavení.
Nejednoznačné Referencie
Preťažené metódy musia byť používať rôzne čísla alebo typy argumentov , aby sa zabránilo nejasnostiam . Ak vytvoríte dve metódy rovnakej triedy , ktoré majú rovnaký názov a prijímam dve celé čísla ako argumenty , kompilátor Java bude schopný rozlišovať medzi týmito dvoma , a to aj v prípade , že vstupné premenné majú rôzne názvy . Napríklad metóda " add ( int a , int b ) " nemôže existovať v rovnakej triede ako metóda " add ( int c , int d ) . "
Späť typy
musíte definovať návratový typ pre každú preťažené metódy . Metódy môžu mať rôzne návratové typy - napr , " add ( int a , int b ) " môže vrátiť celé číslo , zatiaľ čo " pridať ( double a , double b ) " vráti dvojnásobok . Avšak , môže Java nerozlišuje medzi dvoma rôznymi metódami založenými na ich návratový typ . Z tohto dôvodu , " int násobenie ( double a , double b ) " nemôže existovať v rovnakej triede ako " dvojité násobenie ( double , double b ) . "