Ieteicams, 2020

Redaktora Izvēle

Atšķirība starp paplašinājumiem un atslēgvārdu ieviešanu Java

Atslēgvārdi paplašinās un tiek izmantoti, lai mantotu jaunizveidotā bērna blokā esošā vecāka bloka iezīmes. Izmantojot paplašinājumu atslēgvārdu, jaunizveidotā klase (apakšklase) var mantot esošās klases pazīmes (suplasslass). Izmantojot izveidoto atslēgvārdu, jaunizveidotā klase var īstenot visas saskarnes metodes. Galvenā atšķirība starp atslēgvārdiem paplašinās un īsteno, ka klase paplašina citu klasi, lai mantotu visus tās biedrus, bet klase īsteno saskarni, lai mantotu visas tās metodes un īstenotu tās atbilstoši tās prasībām. Ir dažas citas atšķirības starp atslēgvārdiem paplašina un īsteno zemāk redzamajā salīdzinājuma diagrammā.

Salīdzinājuma diagrammas

Salīdzinājuma pamatsPaplašināsĪsteno
PamataPaplašinātais atslēgvārds tiek izmantots, lai izveidotu apakšklasi, izmantojot super klases funkcijas.Darbarīka atslēgvārds tiek izmantots saskarnes ieviešanai
MetodesPaplašinātais atslēgvārds nedrīkst ignorēt visas super klases metodes.Atslēgvārdam ir jāīsteno visas realizētās saskarnes metodes.
KlaseKlase var paplašināt tikai vienu super klasi.Klase var īstenot vairākas interfeisus.
SaskarneSaskarne var paplašināt vairāk nekā vienu interfeisu.Saskarne nevar īstenot citu saskarni.

Atslēgvārda paplašināšana

Mantojums, kas ir svarīgs objekta orientētas programmēšanas jēdziens, tiek sasniegts, ja apakšklase paplašina vēl vienu klasi. Apakškategorijai ir atļauts paplašināt tikai vienu klasi. Klase nekad nevar paplašināt vairāk nekā vienu super klasi Java. Ja klase paplašina citu klasi, tā var ignorēt superklases definētās metodes. Ļaujiet mums saprast atslēgvārdu, izmantojot piemēru.

 A klase {String s; A (String s1) {s = s1; } // parādīt virknes tukšumu displeju () {System.out.println (+ s); }} B klase paplašina A {String i; B (String s1, String i1) {super (s1); i = i1; } void dispaly () {super.dispaly (); / * A klases displejs (), uz kuru atsaukts. * / System.out.println (+ i); }} klase Pārslēgt {public static void main (String args []) {B ob = new B (Tech, atšķirības); ob.display (); / * B klases izsaukums * /}} / * out * / Tech atšķirības 

Iepriekš minētajā kodā jūs varat novērot, ka B klasei ir paplašināta A klase un ir pārspīlēta A klasē definētā metodi (). Līdzīgi interfeiss vienlaikus var paplašināt vairāk nekā vienu interfeisu. Tā kā interfeisam nav jāīsteno jebkura paplašinātās saskarnes metode, ir atļauts vienlaikus mantot vairākas saskarnes.

Darbarīku atslēgvārdu definīcija

Izmantojot atslēgvārdu rīkus, klase mantos visas saskarnes metodes. Ja klase īsteno interfeisu, šai klasei jāīsteno visas realizētās saskarnes metodes. Interfeiss nekad nevar īstenot citu saskarni, jo atslēgvārdu īstenošana paredz metožu ieviešanu, bet interfeiss tajā nekad neīsteno metodes, tāpēc interfeisam nav iespējams ieviest citu saskarni. Ļaujiet mums, izmantojot piemēru, saprast īstenojamo atslēgvārdu.

 interfeisa virknes {void display (String s); } interfeiss vesels skaitlis {void show (int i); } klases Demo īsteno virknes, vesels skaitlis {void show (int i) {System.Out.Println ("vesels skaitlis:" + i); } void display (String s) {System.Out.Println ("string vērtība:" + s); }} klase Demo_main {public static void main (virkne args []) {Demo d = jauna demo (); d.display ("TechDifferences"); d.show (2); }} / * izvade * / tehniskās atšķirības 2 

Kā redzams iepriekš minētajā kodā, redzams, ka klases demo ievieš divas saskarņu virknes un veselu skaitli un ir ieviesis metodes, kas deklarētas gan saskarnēs, kas ir displejs (), gan parādīt ().

Galvenās atšķirības starp paplašinājumiem un darbarīkiem

  1. Klase var mantot citu klasi, vai interfeiss pārmanto citas saskarnes, izmantojot atslēgvārdu, bet klasē var ieviest saskarnes, izmantojot atslēgvārdu rīkus.
  2. Apakšklase, kas paplašina superklasi, var ignorēt visas metodes, kas ir iekļautas augstākās klases klasē. No otras puses, klasei, kas ievieš saskarni, jādefinē / jāīsteno visas šīs saskarnes metodes.
  3. Viena klase var vienlaikus izmantot jebkuru interfeisa numuru. No otras puses, klase var paplašināt tikai vienu super klasi.
  4. Saskarne var paplašināt jebkuru saskarņu skaitu, bet interfeiss nekad nevar īstenot nevienu citu saskarni, jo īstenošanas līdzekļi, kas definē metodes un saskarni, vienmēr ir abstrakti, tāpēc interfeiss nekad nevar īstenot citu saskarni.

Secinājums:

Noslēdzu diskusiju, sakot, ka saskarnes ieviešana padara kodu elastīgāku nekā klases paplašināšana. Tā kā tas novērš ierobežojumu, ka Java var pārmantot tikai vienu super klasi. Izmantojot atslēgvārdu, klase var mantot vairāk nekā vienas saskarnes funkcijas.

Top