Priporočena, 2020

Izbira Urednika

Razlika med razširjanjem in izvajanjem ključnih besed v Javi

Ključne besede se razširijo in implementirajo, da se podedujejo funkcije že obstoječega nadrejenega bloka v na novo ustvarjenem podrejenem bloku. Z uporabo ključne besede extends lahko novoustvarjeni razred (podrazred) podeduje lastnosti obstoječega razreda (nadrazred). Z uporabo ključne besede implementira novonastali razred lahko izvaja vse metode vmesnika. Glavna razlika med razširjenimi in implementiranimi ključnimi besedami je, da razred razširi drug razred, da bi podedoval vse člane, medtem ko razred izvaja vmesnik za podedovanje vseh metod in jih izvaja v skladu s svojimi zahtevami. Obstajajo še nekatere razlike med razširjenimi ključnimi besedami in orodji, ki so obravnavane v spodnjem primerjalnem grafikonu.

Primerjalne tabele

Podlaga za primerjavoPodaljšaIzvedbe
OsnovnoKljučna beseda extends se uporablja za ustvarjanje podrazreda z uporabo funkcij super razreda.Ključna beseda implementira se za izvedbo vmesnika
MetodeKljučna beseda extends ne more preglasiti vseh metod super razreda.Ključna beseda implementira mora izvajati vse metode vgrajenega vmesnika.
RazredRazred lahko razširi samo en super razred.Razred lahko izvaja več medfaznih povezav.
VmesnikVmesnik lahko razširi več kot en vmesnik.Vmesnik ne more izvajati drugega vmesnika.

Definicija ključne besede extends

Dedovanje, ki je pomemben koncept v objektno usmerjenem programiranju, je doseženo, ko podrazred razširi še en nadrazred. Podrazredu je dovoljeno razširiti samo en superrazred. Razred ne more nikoli razširiti več kot enega super razreda v Javi. Ko razred razširi drug razred, lahko preglasi metode, definirane v superklasi. Sprejmimo ključno besedo s pomočjo primera.

 razred A {String s; A (niz S1) {s = s1; } // prikaz niza void display () {System.out.println (+ s); }} Razred B razširi A {String i; B (String s1, String i1) {super (s1); i = i1; } void dispaly () {super.dispaly (); / * display () klice A, ki je bil priklican. * / System.out.println (+ i); }} Razred Preglasi {javna statična neveljavna glavna (String args []) {B ob = novo B (Tehnologija, Razlike); ob.display (); / * prikaz klase B, ki je bil poklican * /}} / * out dani * / Tech Razlike 

V zgornji kodi lahko opazite, da je razred B razširjen razred A in je razveljavil prikaz metode (), definiran v razredu A. Na podoben način lahko vmesnik naenkrat razširi več kot en vmesnik. Ker vmesniku ni treba izvajati nobene metode razširjenega vmesnika, je dovoljeno podedovati več vmesnikov hkrati.

Opredelitev ključne besede o izvedbah

Z uporabo ključne besede uresničuje razred deduje vse metode v vmesniku. Ko razred izvaja vmesnik, mora ta razred izvajati vse metode implementiranega vmesnika. Vmesnik ne more nikoli uvesti drugega vmesnika, saj ključna beseda implementira obljublja izvajanje metod, vendar vmesnik nikoli ne izvaja metod v njem, zato vmesnik ne more izvajati drugega vmesnika. Razumimo ključno besedo o izvedbah s pomočjo primera.

 vmesniški nizi {void display (String s); } integer integer {void show (int i); } razred Demo izvaja nizove, celo število {void show (int i) {System.Out.Println ("celoštevilska vrednost:" + i); } void display (String s) {System.Out.Println ("vrednost niza:" + s); }} Razred Demo_main {javni statični void main (string args []) {Demo d = new Demo (); d.display ("TechDifferences"); prikaz (2); }} / * izhod * / TechDifferences 2 

Kot v zgornji kodi lahko vidite, da demo razreda uvaja dva niza vmesnikov in celo število ter je implementiral metode, deklarirane v obeh vmesnikih, ki so display () in show ().

Ključne razlike med podaljškom in napravami

  1. Razred lahko podeduje drug razred ali pa vmesnik podeduje druge vmesnike s ključno besedo, ki jo razširi, medtem ko lahko razred izvaja vmesnike z uporabo ključne besede.
  2. Podrazred, ki razširi nadrazred, lahko ali pa ne preglasi vseh metod v nadrazredu. Po drugi strani mora razred, ki izvaja vmesnik, definirati / izvajati vse metode tega vmesnika.
  3. Razred lahko istočasno izvede poljubno število vmesnika. Po drugi strani lahko razred razširi samo en super razred.
  4. Vmesnik lahko razširi poljubno število vmesnikov, vendar vmesnik ne more nikoli izvajati nobenega drugega vmesnika, saj izvedbena sredstva, ki definirajo metode in vmesnike, vedno imajo abstraktne metode, zato vmesnik ne more nikoli uporabiti drugega vmesnika.

Sklep:

V zaključku razprave trdim, da je uporaba vmesnika bolj prilagodljiva kot razširitev razreda. Ker se izogiba omejitvi podedovanja samo enega super razreda v Javi. Uporaba ključne besede implementira razred lahko podeduje funkcije več kot enega vmesnika.

Top