Priporočena, 2024

Izbira Urednika

Razlika med razredom in vmesnikom v Javi

Oba razreda in vmesnika se uporabljata za ustvarjanje novih referenčnih vrst. Razred je zbirka polj in metod, ki delujejo na poljih. Vmesnik ima popolnoma abstraktne metode, tj. Vmesnik je sintaktično podoben razredu, vendar obstaja velika razlika med razredom in vmesnikom, ki je lahko primeren za razred, vendar vmesnik ni nikoli primeren. Naj se torej naučimo več razlike med razredom in vmesnikom s pomočjo primerjalne tabele, prikazane spodaj.

Primerjalna tabela

Podlaga za primerjavoRazredVmesnik
OsnovnoRazred je ustvarjen za ustvarjanje objektov.Vmesnik ne more biti nikoli primeren, ker metode ne morejo izvesti nobenega dejanja glede priklica.
Ključna besedarazredvmesnik
Specifikator dostopaČlani razreda so lahko zasebni, javni ali zaščiteni.Člani vmesnika so vedno javni.
MetodeMetode razreda so definirane za izvedbo določenega dejanja.Metode v vmesniku so povsem abstraktne.
Izvajati / razširitiRazred lahko izvede poljubno število vmesnikov in lahko razširi samo en razred.Vmesnik lahko razširi več vmesnikov, vendar ne more izvajati nobenega vmesnika.
KonstruktorRazred ima lahko konstruktorje za inicializacijo spremenljivk.Vmesnik nikoli ne more imeti konstruktorja, saj je inicializacija komaj kaj spremenljivke.

Opredelitev razreda

Razred je najpomembnejši vidik programiranja Java brez razredov, ki jih ne morete izvajati. Razred ustvarja referenčne vrste in ti referenčni tipi se uporabljajo za ustvarjanje objektov. Razred ima podpis in telo. Podpis razreda ima ime razreda in informacijo, ki pove, ali je razred podedoval drug razred. Telo razreda ima polja in metode, ki delujejo na teh poljih. Razred je ustvarjen z uporabo razreda ključnih besed. Naj vidimo, kako razvrstiti razred.

 razred class_name {/ * polja ... metode * /} 

Ko je razred predstavljen, vsak ustvarjeni objekt vsebuje kopijo polj in metod z njimi. Polja in člani, razglašeni znotraj razreda, so lahko statični ali nestatični. Vrednost statičnih članov je konstantna za vsak predmet, medtem ko so ne statični člani inicializirani z vsakim objektom različno glede na njegovo zahtevo.

Člani razreda imajo dostopne specifikatorje, ki določajo vidnost in dostopnost članov do uporabnika ali podrazredov. Specifikatorji dostopa so javni, zasebni in zaščiteni. Razred lahko podedujemo z drugim razredom z uporabo specifikatorja dostopa, ki bo določil vidnost članov nadrazreda (podedanega razreda) v podrazredu (dedni razred). Tako razred izpolnjuje koncept skrivanja podatkov in enkapsulacije v objektno usmerjenem programiranju.

Opredelitev vmesnika

Vmesnik je tudi med referenčnimi tipi, definiranimi v Javi. Pomembnost vmesnika je v tem, da lahko razred Java podeduje samo en razred. Da bi se izognili tej omejitvi, so oblikovalci Java uvedli koncept vmesnika. Vmesnik je sintaktično podoben razredu, vendar nima deklaracije v polju in metode znotraj vmesnika nimajo nobene izvedbe. Vmesnik je deklariran z vmesnikom ključnih besed. Oglejmo si izjavo vmesnika.

 vmesnik ime_vmesnika {tip var_name = vrednost; tipna metoda1 (seznam parametrov); metoda tipa2 (seznam parametrov); . . } 

Vmesnik ne definira nobene metode, ki je deklarirana v njem, ker nima polj za delovanje. Samo zato, ker katera koli metoda v vmesniku ne izvaja nobenega dejanja, vmesnik nikoli ne more biti primeren. Če ima vmesnik katerega koli člana polja, ga je treba inicializirati v času njihove izjave. Vmesnik nikoli ne vsebuje nobenih konstruktorjev, saj nima elementov v polju za inicializacijo. Torej vmesnik samo definira, kaj mora razred početi, namesto kako mora narediti.

Vmesnik, ki ste ga ustvarili, lahko izvedete s poljubnim številom razredov, ki uporabljajo ključne besede. Razredi, ki uporabljajo vmesnik, morajo definirati vse metode znotraj vmesnika. Vmesnik lahko podeduje tudi drug vmesnik z uporabo ključne besede expand. Če razred izvaja vmesnik, ki razširja drug vmesnik. Potem mora razred definirati metode obeh vmesnikov, ki se pojavljajo v verigi. Metode znotraj vmesnika morajo biti vedno javne, saj morajo biti dostopni razredom, ki jih izvajajo.

Ključne razlike med razredom in vmesnikom v Javi

  1. Razred je mogoče ustvariti z ustvarjanjem njegovih objektov. Vmesnik ni nikoli primeren, ker so metode, deklarirane znotraj vmesnika, abstraktne in ne izvajajo nobenih dejanj, zato ni nobenega vmesnika.
  2. Razred je deklariran s ključno besedo razreda. Na enak način je vmesnik ustvarjen z vmesnikom ključnih besed.
  3. Člani razreda lahko določijo dostop, kot so javni, zasebni, zaščiteni. Vendar pa so člani vmesnika vedno javni, saj morajo biti dostopni razredom, ki jih izvajajo.
  4. Metode znotraj razreda so definirane za izvedbo dejanja na poljih, ki so deklarirana v razredu. Ker v vmesniku manjka deklaracija polj, so metode znotraj vmesnika povsem abstraktne.
  5. Razred lahko izvede poljubno število vmesnikov, vendar lahko razširi samo en super razred. Vmesnik lahko razširi poljubno število vmesnikov, vendar ne more izvajati nobenega vmesnika.
  6. Razred ima znotraj njega definirane konstruktorje, da dobimo spremenljivko inicializirano. Vendar pa vmesnik nima nobenih konstruktorjev, ker ni polj za inicializacijo. Polja vmesnika so inicializirana samo v času njihove izjave.

Sklep:

Oba razreda in vmesnika imata svoj pomen. Razred se uporablja, ko moramo določiti, kako naj se opravilo izvede. Vmesnik se uporablja, ko moramo vedeti, kakšno nalogo je treba opraviti.

Top