„Java“ konstruktorių grandinė

Java Konstruktoriu Grandine



Java programoje konstruktoriai atlieka lemiamą vaidmenį inicijuojant klasės egzempliorių. Tai yra panašūs į Java metodus. Tačiau konstruktoriaus pavadinimas visada yra toks pat kaip klasės pavadinimas, o įprastas metodas gali turėti bet kokį galiojantį pavadinimą. Dažniausiai tai taip pat vadinama specialiais objekto deklaravimo metodais. Galite sukurti konstruktorių grandinę, kuri vyksta paveldėjimo pagalba. Vaikų/poklasių konstruktorius pirmiausia iškviečia pirminį/aukštesniosios klasės konstruktorių, o tada galima iškviesti antrinių klasių konstruktorius.

Šiame įraše bus kalbama apie konstruktorių grandinę „Java“.







„Java“ konstruktorių grandinė

Konstruktoriaus keitimas yra svarbiausia konstruktoriaus iškvietimo į kitą konstruktorių pagal iškeltus tikslus procedūra. Vienas iš pagrindinių konstruktorių grandinės naudojimo būdų yra išvengti perteklinių kodų turint kelis konstruktorius. Dėl to kodas yra lengvai suprantamas ir skaitomas.



Yra du būdai, kaip atlikti konstruktorių grandinę Java, kaip nurodyta toliau:



Panagrinėkime šiuos metodus po vieną, kad geriau suprastume konstruktorių grandinėjimą.





1 būdas: konstruktorių sujungimas toje pačioje klasėje naudojant „this()“ raktinį žodį

Kai konstruktoriaus grandinė yra atliekama toje pačioje klasėje, „Java“ tai () “ naudojamas raktinis žodis. Numatytasis konstruktorius bus iškviestas, kai bus inicijuotas klasės egzempliorius. Jis iškvies kitą konstruktorių naudodamas „ tai “ raktinį žodį. Tada iškvieskite „println()“ metodą, kad būtų rodomas rezultatas konsolėje:



min ( ) {
tai ( 5 ) ;
System.out.println ( „Numatytasis konstruktorius“ ) ;
}


Dabar iškvieskite antrąjį konstruktorių, kurį sudaro parametras ' a “ ir nustatykite parametrų reikšmę „ tai () “ raktinį žodį. Tada naudokite „ println () “ ir pateikite „a“ kaip argumentą, kad parodytumėte rezultatą:

min ( tarpt a ) {
tai ( 5 , dvidešimt ) ;
System.out.println ( a ) ;
}


Šiame konstruktoriuje mes perdavėme du sveikųjų skaičių tipo parametrus kaip „ a “ ir „ b “. Po to iškvieskite metodą „println()“ ir perduokite „ a*b “, kuris pateiks šių kintamųjų sandaugą:

min ( int a, int b ) {
System.out.println ( a * b ) ;
}


Viduje ' pagrindinis () “ metodą, iškvieskite numatytąjį konstruktorių, kuris automatiškai iškvies kitus konstruktorius ir parodys rezultatą konsolėje:

viešas statinis tuštumas pagrindinis ( Styginių args [ ] ) {
naujas min ( ) ;
}


Dėl to visų konstruktorių išvestis bus rodoma konsolėje:


Jei norite sujungti konstruktorių į kelias klases, patikrinkite toliau pateiktą metodą.

2 būdas: konstruktoriaus susiejimas su kita klase naudojant „super()“ raktinį žodį

Taip pat galite sujungti konstruktorius iš vienos klasės į kitą. Tam naudojamas „super()“ raktinis žodis. Norėdami tai padaryti, pagrindinėje klasėje naudokite šį kodą.

Pirmiausia apibrėžkite eilutės tipo kintamąjį ' vardas “ ir iškvieskite pirmąjį konstruktorių naudodami pagrindinės klasės pavadinimą:

Stygos pavadinimas;
min ( ) {
tai ( '' ) ;
System.out.println ( „Be bazinės klasės konstruktoriaus“ ) ;
}


Iškvieskite antrąjį konstruktorių ir perduokite aukščiau nurodytą kintamąjį ' Stygos pavadinimas “ kaip parametrą. Naudoti ' tai “ raktinį žodį, kad pasiektumėte vertę ir iškviestumėte „ println () “ metodas spausdinimo tikslams:

min ( Stygos pavadinimas ) {
this.name = vardas;
System.out.println ( „Skambinimas parametrizuotu bazės konstruktoriumi“ ) ;
}


Viduje ' pagrindinis () “ metodą, iškvieskite vaikų klasę su parametru „ vardas “. Tai iškvies pirminės klasės konstruktorius, kur parametras ' vardas “ yra praėjęs. Tada jis iškvies vaikų klasės konstruktorių su parametru ' vardas “:

viešas statinis tuštumas pagrindinis ( Styginių args [ ] ) {
naujas vaikas ( 'vardas' ) ;
}


Sukuriama vaikų klasė, kuri naudoja „ tęsiasi “ raktinis žodis paveldėti pirminę klasę ir iškviesti trečiąjį konstruktorių. Po to iškvieskite kitą konstruktorių ir šio konstruktoriaus viduje iškvieskite pirminės klasės antrąjį konstruktorių:

klasė Vaikas pailgina min {
Vaikas ( ) {
System.out.println ( „Be argumentų vaikų klasės konstruktorius“ ) ;
}
Vaikas ( Stygos pavadinimas ) {
super ( vardas ) ;
System.out.println ( „Skambinimas parametrizuotu vaiko konstruktoriumi“ ) ;
}
}


Išvestis


Tai viskas apie konstruktorių grandinę „Java“.

Išvada

„Java“ programoje konstruktorių grandinės sujungimas toje pačioje klasėje atliekamas naudojant „this()“ raktinį žodį, o raktinis žodis „super()“ naudojamas konstruktorių grandinėjimui atlikti įvairiose klasėse. Konstruktoriaus grandinėjimas vyksta paveldėjimo pagalba. Poklasių konstruktorius pirmiausia iškviečia superklasės konstruktorių, o tada galima iškviesti antrinių klasių konstruktorius. Šiame įraše buvo aptartas konstruktorių grandinės sujungimas Java su praktiniais pavyzdžiais.