Razlika između preopterećenja i poništavanja u Javi

Ključna razlika : Preopterećenje znači imati dvije metode istog razreda s istim imenom i različitim vrstama parametara, dok nadjačavanje znači imati dvije različite metode u istoj klasi s istim vrstama parametara, ali s različitim implementacijama.

Prekoračenje i preopterećenje metoda su dva koncepta ili tehnike koji se koriste u programskim jezicima java. Oba koncepta omogućuju programeru da osigura različite implementacije za metode pod istim imenom. Ovaj članak razlikuje dvije koncepcije programiranja.

Preopterećenje funkcija ili preopterećenje metode omogućuje stvaranje nekoliko metoda pod istim imenom, u istoj klasi, ali se međusobno razlikuju u ulaznom i izlaznom tipu funkcije. Jednostavno se definira kao sposobnost jedne funkcije da obavlja različite zadatke.

U preopterećenju implementacije metoda dijele isto ime jer obavljaju slične zadatke. Također, preopterećenje se smatra polimorfnom u prirodi. Funkcije koje imaju različite implementacije ovise o njihovim specificiranim vrstama argumenata. Obično se povezuje sa statičkim programskim jezicima koji provode provjeru tipa u pozivima funkcija. Također se smatra praktičnim jer omogućuje programeru da napiše nekoliko različitih metoda u istom razredu. Međutim, u preopterećenju izvršnog procesora mijenja se ime svih preopterećenih metoda, što može biti problem.

Nadjačavanje metoda, u objektno orijentiranom programiranju, je značajka koja dopušta podklasi ili podređenoj klasi da pruži specifičnu implementaciju metode koja je već osigurana u jednoj od njegovih nad-klasa ili roditeljskih klasa. Implementacija u potklasi nadjačava ili zamjenjuje implementaciju u roditeljskoj klasi osiguravanjem metode pod istim imenom, istim parametrima ili potpisom i istim povratnim tipom kao metoda u roditeljskoj klasi.

Kod nadjačavanja metoda, funkcije se kodiraju za izvršavanje određenih zadataka u programu. Prekoračenje ovisi o prisutnosti osnovne klase za njezin izgled. Ovdje izvršena funkcija određena je objektom koji se koristi za pozivanje, tj. Ako se objekt roditeljske klase koristi za pozivanje metode, tada će se izvršiti funkcija u roditeljskoj klasi. Preokret je u prirodi polimorfan; pomaže u dizajniranju programa na temelju prvog implicitnog parametra, koji se može riješiti tijekom izvođenja. Postoje neki jezici u Java dopuštaju programer da spriječi metodu da bude nadjačana.

Usporedba između preopterećenja i poništavanja:

preopterećenje

najvažniji

definicija

To znači imati metode iste klase pod istim imenom, ali svaka metoda ima različite parametre ili ima iste parametre s različitim vrstama i redoslijedom.

To znači imati pod-klasu s istim metodama pod istim imenom i točno istu vrstu parametara i isti povratni tip kao super klasa.

Značenje

To znači da više od jedne metode dijele isto ime u istoj klasi, ali imaju drugačiji potpis.

To znači da je metoda osnovne klase ponovno definirana u izvedenoj klasi s istim potpisom.

Ponašanje

Dodaje ili proširuje ponašanje metoda.

Ona mijenja postojeće ponašanje metode.

polimorfizam

To je polimorfizam vremena sastavljanja.

To je polimorfizam izvođenja.

Statička metoda

Statička metoda može biti preopterećena.

Statička metoda se ne može zamijeniti.

Veza

Statična veza.

Dinamička veza.

baština

Može ili ne mora zahtijevati nasljeđivanje.

Uvijek zahtijeva nasljedstvo.

asocijacija

Obično se povezuje sa statičkim programskim jezicima.

Obično je to povezano s objektno orijentiranim programima.

Potpis

Metode imaju drugačiji potpis.

Metode moraju imati isti potpis.

Ubrzati

To je brže nego prebrzo.

Spor je u odnosu na preopterećenje.

klase

Ne zahtijeva više od jedne klase za preopterećenje.

To zahtijeva najmanje dvije klase za preopterećenje.

nivo

Metode mogu imati bilo koju razinu pristupa.

Metode imaju istu ili široku razinu pristupa.

Primjer

Class Add

{

int sum (int a, int b)

{

return a + b;

}

int sum (int a)

{

vrati + 10;

}

}

Klasa A // Super klasa

{

void display (int num)

{

print num;

}

}

// Klasa B nasljeđuje klasu A

Klasa B // Podklasa

{

void display (int num)

{

print num;

}

}

Preporučeno

Vezani Članci

  • popularne usporedbe: Razlika između zimskih olimpijskih igara i ljetnih olimpijskih igara

    Razlika između zimskih olimpijskih igara i ljetnih olimpijskih igara

    Ključna razlika : Olimpijske i zimske Olimpijske igre organizira MOO (Međunarodni olimpijski odbor) u razmaku od svake dvije godine. Razlika između njih leži u prostorima na kojima se održavaju i igrama koje izlažu. Olimpijske igre započele su u Olimpiji, u staroj Grčkoj. Od tada, konkurencija je postala najistaknutiji sportski događaj svijeta. Olimpij
  • popularne usporedbe: Razlika između muškaraca i ženske cipele

    Razlika između muškaraca i ženske cipele

    Ključna razlika: Muške i ženske cipele su osnovna obuća koju koriste za zaštitu stopala. Muške i ženske cipele razlikuju se po veličini; to je veličina muške cipele šira od ženske. Postoje sorte obuće koje su kategorizirane prema spolu, i obično su dostupne na tržištu. U osnovi, cipela je vrsta obuće koja je namijenjena zaštiti i udobnosti ljudskog stopala tijekom nekoliko aktivnosti. Sada, u skladu s
  • popularne usporedbe: Razlika između modela LG Optimus L7 II Dual i Nexus 4

    Razlika između modela LG Optimus L7 II Dual i Nexus 4

    Ključna razlika: LG Optimus L7 II Dual je telefon srednje klase tvrtke LG. Telefon je dual SIM telefon. Uređaj ima 4, 3-inčni IPS LCD, kapacitivni zaslon osjetljiv na dodir s rezolucijom 480 x 800 piksela. Radi na Android v 4.1.2 (JellyBean), koji je podržan 1.0 GHz Dual-Core Qualcomm MSM8225 Snapdragon procesorom i 768 MB RAM-a. Ne
  • popularne usporedbe: Razlika između modela LG Optimus L5 II, L5 II Dual i Nokia Lumia 520

    Razlika između modela LG Optimus L5 II, L5 II Dual i Nokia Lumia 520

    Ključna razlika: LG Optimus L5 II i njegov dio LG Optimus L5 II Dual su dva početnička modela tvrtke. LG Optimus L5 II i L5 II Dual su prilično slični, ali se razlikuju na određenim mjestima, uključujući izgled. Uređaj dolazi s 4-inčnim True IPS LCD kapacitivnim zaslonom osjetljivim na dodir koji nudi gustoću piksela od oko 233 ppi. Nokia Lum
  • popularne usporedbe: Razlika između multipleksera i davača

    Razlika između multipleksera i davača

    Razlika ključa: multiplekser ili MUX je kombinirani sklop koji sadrži više od jedne ulazne linije, jednu izlaznu liniju i više od jedne linije odabira. Dok se koder također smatra tipom multipleksera, ali bez jedne izlazne linije. To je kombinacijska logička funkcija koja ima 2 ^ n (ili manje) ulaznih linija i n izlaznih linija. Mult
  • popularne usporedbe: Razlika između TCP-a i UDP-a

    Razlika između TCP-a i UDP-a

    Ključna razlika: TCP označava protokol kontrole prometa. To je pouzdani protokol povezan s vezom i služi za prijenos ključnih podataka. S druge strane, UDP je kratica za User Datagram Protocol (korisnički protokol datagrama). To je nepouzdan protokol bez povezivanja koji se koristi za usluge koje zahtijevaju brz prijenos podataka. Živ
  • popularne usporedbe: Razlika između softverskog inženjerstva i računalnog inženjerstva

    Razlika između softverskog inženjerstva i računalnog inženjerstva

    Ključna razlika: Softversko inženjerstvo je područje proučavanja, osmišljavanja i izgradnje praktičnog rješenja problema. Cilj softverskog inženjera je razumjeti problem unutar računala i stvoriti softver koji olakšava problem. Računalno inženjerstvo, također poznato kao Computer Systems Engineering, je kolegij Elektrotehnike i Računarstva koji je potreban za razvoj računalnih sustava. Softversko in
  • popularne usporedbe: Razlika između japanskih i kineskih očiju

    Razlika između japanskih i kineskih očiju

    Ključna razlika: japansko lice je općenito duže i / ili više ovalno i šire od kineskog lica. Dakle, japanske oči imaju tendenciju da izgledaju šire. Većina japanskih žena ima jedan kapak. Također, japanski oči imaju tendenciju da se malo nagnut prema gore. Kinezi obično imaju lica okruglog oblika, dok tipični kineski pogledi imaju tendenciju da se malo spuste. Međutim, br
  • popularne usporedbe: Razlika između NEFT, RTGS, ACH, Wire, EFT i IMPS

    Razlika između NEFT, RTGS, ACH, Wire, EFT i IMPS

    Ključna razlika: 'RTGS' označava bruto poravnanje u stvarnom vremenu. To je on-line sustav putem kojeg se sredstva mogu prenijeti iz jedne institucije u drugu, u zemlji u stvarnom vremenu. 'NEFT' označava nacionalni elektronički prijenos sredstava. U 'NEFT' nagodbama, transakcije se namiruju u serijama tijekom određenog vremenskog razdoblja unutar zemlje. Aut

Izbor Urednika

Razlika između Alcatel One Touch Idol i Micromax A116 Canvas HD

Ključna razlika: Alcatel One Touch Idol je službeni mobilni partner za film Iron Man 3. Ima 4, 7-inčni IPS LCD kapacitivni zaslon osjetljiv na dodir s 16 milijuna boja. Zaslon ima rezoluciju od 540 x 960 piksela. Telefon pokreće Dual-Core 1 GHz MediaTek MTK 6577+ i 512 MB RAM-a. Micromax A116 Canvas HD nasljednik je popularnog Micromax A110 Canvas 2 i bolji je od svog prethodnika u svakom pogledu. Po