Når programmerere bruke objektorientert utvikling for å bygge sine søknader , kan de bruke både funksjon overbelastning og funksjon overstyring. I objektorienterte språk som Java , er funksjoner som normalt omtales som metoder. I et objektorientert program, programmerere skape klassen erklæringer der de definerer oppførselen til programmet objekter . Overbelastning og overstyring er alternativer når du oppretter disse deklarasjonene av atferd ved hjelp av metoder . Klasse Funksjoner
En klasse erklæring er en blåkopi for objekter i et program. Når et program oppretter et objekt av en bestemt klasse , vil dette objektet gir metodene , eller funksjoner , er skissert i erklæringen. Følgende eksempel Java-koden demonstrerer skape et objekt og kalle en metode på det : en
Helper hjelp = ny Helper (); String ord = help.doSomethingUseful ( 5 ) ;
klasse erklæring for eksempelet er " Helper " objekt kunne gi denne metoden ved hjelp av følgende oversikt : en
public String doSomethingUseful ( int num )
metoden signatur indikerer at det tar et enkelt heltall parameter og returnerer en streng .
parametre og retur
Overbelastning lar programmerere å gi flere versjoner av samme metode eller funksjon . Noen ganger kan en klasse kan ha behov for å imøtekomme varierte inngangsverdier for funksjonaliteten det gir. For eksempel kan Helper klassen inneholde følgende ekstra metode : en
public String doSomethingUseful (String numText )
Denne metoden har samme navn som den første , men tar en annen type parameter . Klassen kan inneholde flere versjoner av metoden, med forskjellig antall og typer av parameter og ulike retur typer. Dette er metoden overbelastning , som lar klasser for å takle ulike situasjoner andre steder i et program.
Inheritance
Prioritet er en egenskap av applikasjoner ved hjelp av arv . Med arv , kan en klasse erklæring forlenge en eksisterende erklæringen , arve funksjonaliteten til dette overordnede klassen . Arve klasser kan bruke metodene til den overordnede klassen samt gi flere metoder av sine egne. Dersom imidlertid et arve klasse behov for å gi en egen implementering av en fremgangsmåte det arver fra uomdannet må det overstyre den metoden. Når en klasse erklæring inkluderer en metode implementering for en arvelig metode , overstyrer de nye innstillingene automatisk den overordnede metoden. Følgende eksempelkode demonstrerer Helper klassen strekker en annen klasse : .
Public class Helper strekker BigHelper
p Hvis den overordnede klassen også inneholder " doSomethingUseful "-metoden , talsmannen implementering overstyrer det
Bruker
Både overbelastning og overstyring gi programmerere med evne til å skape mangfold og fleksibilitet i sine applikasjoner . Men bruken av disse to teknikkene er svært forskjellige. Overbelastning betyr i hovedsak å ha flere alternative versjoner av samme metode i form av input og output. Overstyrer betyr å utnytte eksisterende funksjonalitet gjennom arv , men også å gi spesialisert funksjonalitet som passer programmet i utvikling. Overbelastning og overstyring er nøkkelbegrep for programmerere å lære objektorientert utvikling.