I Java , er en funksjon som kalles en " metode ", og dens parametre er kalt En metode kan ta en rekke argumenter , men en enkelt metode header kan ta bare ett definert argument "argumenter ". satt . For å akseptere ulike sett , må du opprette flere metode overskrifter for hvert annet sett , eller " overload" metoden . Overbelastning Metoder
å overbelaste en metode , rett og slett erklære flere metoder med samme navn, men med ulike argumenter. Ethvert objekt av klassen vil være i stand til å ringe enten versjon av metoden ved å skrive inn enten sett med parametre som argumenter . Du kan også ringe en annen versjon av en overbelastet metoden innsiden som metode kroppen (for eksempel " overloadedMethod ( )" kan kalle " overLoadedMethod ( int , double) " så lenge at versjonen har også blitt erklært ) .
Overbelastning av Constructor
som standard har hver klasse i Java en konstruktør som tar ingen argumenter , som rett og slett instantiates et objekt og tar ikke andre tiltak . Dermed kan du opprette en forekomst av klassen ved å kalle konstruktøren . Men hvis du overbelaster konstruktør med en versjon som tar flere argumenter, deaktiverer du den "default " no- argument konstruktør , som kan bryte andre deler av koden som er avhengige av at konstruktøren . Du må definere en ny konstruktør uten argumenter hvis du ønsker no- argument funksjonalitet tilbake .
Fordeler med Overbelastning
En fordel for overbelastning er at det gir mulighet for tilpasning i metode påkalling . Hvis du ønsker å lage en metode som tar valgfrie flagg , kan du overbelaster metode for å egentlig lage to versjoner : en som tar de obligatoriske argumenter bare, og en som tar alle mulige argumenter. I kroppen av metoden med færre argumenter , bare ringe den andre metoden , passerer argumentene til at metoden samt standardverdier for de valgfrie flagg.
Overbelastning og Arv
Når en klasse arver metoder fra sin super klasse , arver den også alle overbelastet metoder også. Det kan også omdefinere arvet metoder. Når du overskriver en overbelastet overordnede metoden, vil barnet klassen bruke egne overskrevet metoder når den finner dem - ellers vil den bruke den overordnede klassen sin versjon
.