Constructor Chaining Java nyelven

Constructor Chaining Java Nyelven



A Java-ban a konstruktorok döntő szerepet játszanak az osztály példányának inicializálásában. Ezek hasonlóak a Java metódusokhoz. A konstruktor neve azonban mindig megegyezik az osztálynévvel, míg egy normál metódusnak bármilyen érvényes neve lehet. Ezeket többnyire speciális módszereknek is nevezik egy objektum deklarálására. Létrehozhat konstruktor láncolást, amely az öröklődés segítségével történik. A gyermek/alosztály konstruktor először a szülő/szuperosztály konstruktort hívja meg, majd a gyermekosztályú konstruktorokat lehet meghívni.

Ez a bejegyzés a konstruktorláncolásról szól a Java nyelven.







Constructor Chaining Java nyelven

A konstruktorváltás a legfontosabb eljárás egy konstruktor másik konstruktorba való behívására a kitűzött céloknak megfelelően. A konstruktorláncolás egyik elsődleges felhasználási módja a redundáns kódok elkerülése több konstruktor mellett. Könnyen érthetővé és olvashatóvá teszi a kódot.



Két módszer létezik a konstruktorláncolás végrehajtására Java nyelven, az alábbiak szerint:



Nézzük meg ezeket a módszereket egyenként, hogy jobban megértsük a konstruktorláncolást.





1. módszer: Konstruktorláncolás ugyanazon az osztályon belül a „this()” kulcsszó használatával

Ha a konstruktor láncolást ugyanazon az osztályon belül hajtják végre, a Java ' ez() ” kulcsszó használatos. Az alapértelmezett konstruktor meghívásra kerül egy osztálypéldány indításakor. Meghív egy másik konstruktort a ' ez ” kulcsszó. Ezután hívja meg a „println()” metódust az eredmény megjelenítéséhez a konzolon:



min ( ) {
ez ( 5 ) ;
System.out.println ( 'Az alapértelmezett konstruktor' ) ;
}


Most hívja meg a második konstruktort, amely egy paraméterből áll a ' és állítsa be a paraméterek értékét a ' ez() ” kulcsszó. Ezután használja a „ println() ” és adja meg az „a”-t argumentumként az eredmény megjelenítéséhez:

min ( int a ) {
ez ( 5 , húsz ) ;
System.out.println ( a ) ;
}


Ebben a konstruktorban a két egész típusú paramétert a következőképpen adtuk át a ” és „ b ”. Ezután hívja meg a 'println()' metódust, és adja át a ' a*b ', amely a következő változók szorzatát adja vissza:

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


Ban,-ben ' fő() ” metódussal hívja meg az alapértelmezett konstruktort, amely automatikusan meghívja a többi konstruktort, és megjeleníti az eredményt a konzolon:

public static void main ( String args [ ] ) {
új min ( ) ;
}


Ennek eredményeként az összes konstruktor kimenete megjelenik a konzolon:


Ha több osztályba szeretné láncolni a konstruktort, nézze meg az alábbi módszert.

2. módszer: Konstruktor láncolása másik osztályhoz „super()” kulcsszó használatával

A konstruktorokat egyik osztályból a másikba is láncolhatja. Ehhez a „super()” kulcsszót használjuk. Ehhez használja a következő kódot a fő osztályban.

Először is definiáljon egy karakterlánc típusú változót ' név ” és hívja meg az első konstruktort a fő osztálynév használatával:

Karakterlánc neve;
min ( ) {
ez ( '' ) ;
System.out.println ( 'Alaposztály konstruktora nélkül' ) ;
}


Hívja meg a második konstruktort és adja át a fent deklarált ' változót Karakterlánc neve ” paraméterként. Használja a ' ez ' kulcsszó az érték eléréséhez és a ' println() ” módszer nyomtatási célokra:

min ( Karakterlánc neve ) {
this.name = név;
System.out.println ( 'A bázis paraméterezett konstruktorának hívása' ) ;
}


Benne ' fő() ' metódus, hívja meg a gyermek osztályt a ' paraméterrel név ”. Ez meghívja a szülő osztály konstruktorait, ahol a paraméter ' név ' elmúlt. Ezután meghívja a gyermek osztály konstruktort a ' paraméterrel név ”:

public static void main ( String args [ ] ) {
új Gyermek ( 'név' ) ;
}


Létrejön egy gyermekosztály, amely a „ kiterjed ” kulcsszó a szülőosztály örökléséhez és a harmadik konstruktor meghívásához. Ezután hívja meg a következő konstruktort, és ebben a konstruktorban hívja meg a szülőosztály második konstruktorát:

osztály Gyermek meghosszabbítja min {
Gyermek ( ) {
System.out.println ( 'A gyermekosztály argumentumkonstruktora nélkül' ) ;
}
Gyermek ( Karakterlánc neve ) {
szuper ( név ) ;
System.out.println ( 'A gyermek paraméterezett konstruktorának hívása' ) ;
}
}


Kimenet


Ennyi a konstruktorláncolásról a Java nyelven.

Következtetés

A Java-ban a konstruktorláncolás ugyanabban az osztályban a „this()” kulcsszó használatával történik, míg a „super()” kulcsszó a konstruktorláncolás végrehajtására szolgál különböző osztályokon. A konstruktor láncolás az öröklődés segítségével történik. Az alosztály-konstruktor először a szuperosztály-konstruktort hívja meg, majd a gyermekosztály-konstruktorokat hívhatjuk meg. Ez a bejegyzés gyakorlati példákkal tárgyalja a konstruktorláncolást Java nyelven.