Forskel mellem Overbelastning og Overstyring i Java

Hovedforskel : Overbelastning betyder at have to metoder i samme klasse med samme navn og med forskellige parametertyper, mens overstyring betyder to forskellige metoder i samme klasse med de samme parametertyper, men med forskellige implementeringer.

Metoderne overstyring og overbelastning er to begreber eller teknikker, der anvendes i java programmeringssprog. Begge koncepter giver programmereren mulighed for at give forskellige implementeringer til metoder under samme navn. Denne artikel skelner mellem de to begreber for programmering.

Funktionsoverbelastning eller overbelastning af metoden gør det muligt at oprette flere metoder under samme navn, i samme klasse, men forskellige fra hinanden i indgangs- og udgangstypen af ​​funktionen. Det er simpelthen defineret som en funktions evne til at udføre forskellige opgaver.

Ved overbelastning deler metoden implementeringer samme navn, fordi de udfører lignende opgaver. Overbelastning betragtes også som polymorf i naturen. Funktionerne, der har forskellige implementeringer, afhænger af deres specificerede argumenttyper. Det er normalt forbundet med statiske programmeringssprog, som håndhæver typekontrol i funktionsopkald. Det anses også for praktisk, da det giver programmereren mulighed for at skrive en række forskellige metoder i samme klasse. Ved overbelastning ændrer runtime-processoren navnet på alle de overbelastede metoder, hvilket kan være et problem.

Metode overordnet i objektorienteret programmering er en funktion, der tillader en underklasse eller klasse for at tilvejebringe en specifik implementering af en metode, der allerede er tilvejebragt af en af ​​dens superklasser eller forældreklasser. Implementeringen i underklassen tilsidesætter eller erstatter implementeringen i forældrenes klasse ved at give en metode med samme navn, samme parametre eller signatur og samme returtype som metoden i forældersklassen.

Ved overordnet metode er funktionerne kodet til at udføre specifikke opgaver i et program. Overstyring afhænger af tilstedeværelsen af ​​en baseklassefunktion for dens udseende. Her bestemmes den udførte funktion af det objekt, der bruges til at påberåbe sig det, dvs. hvis et objekt af en forældersklasse bruges til at påberåbe sig metoden, vil funktionen i forældrenes klasse blive udført. Overordnet er polymorf i naturen; Det hjælper med at designe programmer baseret på den første implicitte parameter, som kan løses ved kørsel. Der er nogle sprog i Java, tillader en programmør at forhindre en metode fra at blive tilsidesat.

Sammenligning mellem overbelastning og overstyring:

overbelastning

Overstyring

Definition

Det betyder at have metoder af samme klasse under samme navn, men hver metode har forskellige parametre eller har samme parametre med forskellige typer og ordrer.

Det betyder at have en underklasse med samme metoder under samme navn og nøjagtig samme type parametre og samme returtype som en superklasse.

Betyder

Det betyder, at mere end en metode deler samme navn i samme klasse, men har en anden signatur.

Det betyder, at metoden i basisklassen er omdefineret i den afledte klasse med samme signatur.

Opførsel

Det tilføjer eller udvider metoderne adfærd.

Det ændrer den eksisterende adfærd af en metode.

polymorfi

Det er en kompileringstidspolymorfisme.

Det er en run-time polymorfisme.

Statisk metode

Den statiske metode kan overbelastes.

Den statiske metode kan ikke overskrides.

Bånd

Statisk obligation.

Dynamisk binding.

Arv

Det kan eller kræver ikke arv.

Det kræver altid arv.

Association

Det er normalt forbundet med statiske programsprog.

Det er normalt forbundet med objektorienterede programmer.

Underskrift

Metoder har forskellig signatur.

Metoder skal have samme signatur.

Hastighed

Det er hurtigere end overordnet.

Det er langsomt i forhold til overbelastning.

Klasser

Det kræver ikke mere end en klasse til overbelastning.

Det kræver mindst to klasser for overbelastning.

Niveau

Metoder kan have ethvert adgangsniveau.

Metoder har samme eller bredt adgangsniveau.

Eksempel

Klasse Tilføj

{

int sum (int a, int b)

{

returnere a + b;

}

int sum (int a)

{

returnere a + 10;

}

}

Klasse A // Superklasse

{

void display (int num)

{

print num;

}

}

// Klasse B arver klasse A

Klasse B // Underklasse

{

void display (int num)

{

print num;

}

}

Anbefalet

Relaterede Artikler

  • forskel mellem: Forskel mellem kursus og program

    Forskel mellem kursus og program

    Nøgleforskel: Når den bruges i højere studier (College) i USA eller Canada, refererer kurset til en klasse, der normalt varer et semester eller et akademisk semester. På den anden side er programmet et andet begreb, der bruges til graden. For nogen, der for nylig har startet processen med at søge på college, er der mange vilkår, som de vil komme på tværs af, der vil forvirre dem. Når man
  • forskel mellem: Forskel mellem tømmer og tømmer

    Forskel mellem tømmer og tømmer

    Hovedforskel: 'Timber' og 'timber', til de fleste formål er synonymer. Men de er måske dommer til lidt forskellige ting, når de overvejer sammenhængen mellem den amerikanske engelsk og britiske engelsk. Til ethvert formål kan træ eller tømmer bruges til at referere til ethvert trin i træet, efter at træet er blevet skåret ned. Dette ka
  • forskel mellem: Forskel mellem Obscenity, Profanity og Vulgarity

    Forskel mellem Obscenity, Profanity og Vulgarity

    Nøgleforskel: Obsken indeholder ord, gestus og billeder, der når de vises til en anden, anses for ulovlige. Profanitet er normalt betragtes som forbandelse eller siger dårlige ting om Gud og hans folk. Vulgar ville indeholde nogen af ​​de ovennævnte og også andre kontroversielle emner. Gå rundt i huset i mørket og pludselig hører du et sammenbrud i det andet rum, der resulterer i at du hopper to fødder i luften, og en farverig eksplosiv ('F' -ordet) undslipper din mund. Er du profa
  • forskel mellem: Forskel mellem HDMI, VGA og DVI

    Forskel mellem HDMI, VGA og DVI

    Nøgleforskel: HDMI eller High Definition Media Interface, er nyeste tilslutning til kabler, der bruges til at forbinde videoenheder til processorer som CPU'er. VGA eller Video Graphics Array er det ældste kabel og er i øjeblikket det mest almindelige videokabel, der bruges til at forbinde skærme til CPU'erne. DV
  • forskel mellem: Forskel mellem Sony Xperia J og Sony Xperia S

    Forskel mellem Sony Xperia J og Sony Xperia S

    Nøgleforskel: Xperia J blev annonceret i oktober 2012 som en billigere variant af Xperia T, hvilket resulterede i, at telefonen har et lignende design til T. Xperia J har en 4 tommer ridsikker TFT touchscreen, der giver en pixeldensitet af 245. Xperia S har en 4, 3-tommers TFT-berøringsskærm med splittesikkert ark på ridsefast glas. Di
  • forskel mellem: Forskel mellem angst og stress

    Forskel mellem angst og stress

    Nøgleforskel: Angst er en følelse af frygt, uro og bekymring. Det kan være rodfæstet under alle omstændigheder, der får en til at føle sig frustreret, vred eller nervøs. Stress er det normale svar en person har til forskellige, krævende stimuli i naturen. Stress er et fælles svar, som en persons krop udviser, når det møder forskellige situationer, overvældende og krævende. Angst og str
  • forskel mellem: Forskel mellem certifikat og eksamensbevis

    Forskel mellem certifikat og eksamensbevis

    Hovedforskel: Et eksamensbevis er et dokument, der udstedes af en uddannelsesinstitution, som f.eks. Et kollegium eller et universitet. Det angiver, at modtageren har gennemført en vellykket studie. Et certifikat er dog et dokument, der angiver en vis faktum eller akkreditering, eller det kan bruges til at bevise, at noget der er angivet i certifikatet, er sandt.
  • forskel mellem: Forskel mellem Facebook Wall og Timeline

    Forskel mellem Facebook Wall og Timeline

    Nøgleforskel: Facebook Wall var det oprindelige profilrum, der blev tilbudt, da brugerne sluttede sig til Facebook. Væggen har et feed-lignende layout, hvor nyheder eller opdateringer fra venner bliver synlige. Facebook Tidslinje er den nyeste layoutopdatering til Facebook. Selskabet tilbød dog i første omgang det på prøve. Men
  • forskel mellem: Forskel mellem Samsung Galaxy Tab 3 7.0 og Samsung Galaxy S4

    Forskel mellem Samsung Galaxy Tab 3 7.0 og Samsung Galaxy S4

    Nøgleforskel: Samsung Galaxy Tab 3 7, 0 sport en 7-tommers WSVGA TFT touchscreen og har dimensionerne 188 x 111, 1 x 9, 9 mm, hvilket gør enheden tyndere sammenlignet med den tidligere tablet. Tabletter er faktisk målrettet mod low-end-serien. Samsung Galaxy S4 er efterfølgeren til den meget populære Samsung Galaxy S3. Vir

Redaktørens Valg

Forskel mellem Hotel og Motel

Hovedforskel : Moteller er generelt rettet mod familier, der er på vejreture og for bilister, der længes efter en behagelig seng at sove i for natten. Hoteller er derimod langt mere avancerede med det formål at øge turismen. Der er forskellige forskelle mellem hoteller og moteller. Moteller er generelt rettet mod familier, der er på road trips og for bilister, der længes efter en behagelig seng at sove i for natten. Mote