Javassa rakentajilla on ratkaiseva rooli luokan ilmentymän alustamisessa. Nämä ovat samanlaisia kuin Java-menetelmät. Rakentajan nimi on kuitenkin aina sama kuin luokan nimi, kun taas normaalilla menetelmällä voi olla mikä tahansa kelvollinen nimi. Useimmiten näitä kutsutaan myös erikoismenetelmiksi objektin ilmoittamiseen. Voit luoda konstruktoriketjutuksen, joka tapahtuu periytymisen avulla. Lapsi-/alaluokka-konstruktori kutsuu ensin ylä-/yläluokka-konstruktoria ja sen jälkeen voidaan kutsua alaluokan rakentajia.
Tässä viestissä kerrotaan rakentajien ketjutuksesta Javassa.
Rakentajan ketjutus Javassa
Konstruktorin vaihto on tärkein prosessi kutsuttaessa konstruktori toiseksi konstruktoriksi asetettujen tavoitteiden mukaisesti. Yksi rakentajien ketjutuksen ensisijaisista käyttötavoista on välttää redundantteja koodeja, kun rakentajia on useita. Se tekee koodista helposti ymmärrettävän ja luettavan.
Javalla on kaksi tapaa suorittaa rakentajien ketjuttaminen alla mainitulla tavalla:
Katsotaanpa näitä menetelmiä yksitellen ymmärtääksesi paremmin rakentajien ketjuttamisen.
Tapa 1: Konstruktoriketjutus samassa luokassa käyttämällä 'this()'-avainsanaa
Kun konstruktoriketjutus suoritetaan samassa luokassa, Java ' Tämä() ' avainsanaa käytetään. Oletuskonstruktori kutsutaan, kun luokkainstanssi käynnistetään. Se kutsuu toista rakentajaa käyttämällä ' Tämä ”avainsana. Käynnistä sitten 'println()' -menetelmä tulosten näyttämiseksi konsolissa:
min ( ) {
Tämä ( 5 ) ;
System.out.println ( 'Oletuskonstruktori' ) ;
}
Kutsu nyt toinen konstruktori, joka koostuu parametrista ' a ja aseta parametrien arvot Tämä() ”avainsana. Käytä sitten ' println() ' ja syötä 'a' argumentiksi tuloksen näyttämiseksi:
Tämä ( 5 , kaksikymmentä ) ;
System.out.println ( a ) ;
}
Tässä konstruktorissa olemme välittäneet kaksi kokonaislukutyyppiparametria muodossa ' a ' ja ' b ”. Tämän jälkeen kutsu 'println()' -menetelmä ja välitä ' a*b ', joka palauttaa näiden muuttujien tulon:
System.out.println ( a * b ) ;
}
' pää() ' -menetelmällä, kutsu oletuskonstruktori, joka kutsuu automaattisesti muut rakentajat ja näyttää tuloksen konsolissa:
uusi min ( ) ;
}
Tämän seurauksena kaikkien konstruktorien tulosteet näkyvät konsolissa:
Jos haluat ketjuttaa konstruktorin useisiin luokkiin, tutustu alla olevaan menetelmään.
Tapa 2: Rakentajan ketjuttaminen toiseen luokkaan 'super()'-avainsanalla
Voit myös ketjuttaa rakentajat luokasta toiseen. Tätä varten käytetään 'super()'-avainsanaa. Käytä tätä varten seuraavaa koodia pääluokassa.
Ensinnäkin, määritä merkkijonotyyppinen muuttuja ' nimi ' ja kutsua ensimmäistä konstruktoria käyttämällä pääluokan nimeä:
merkkijonon nimi;min ( ) {
Tämä ( '' ) ;
System.out.println ( 'Ilman perusluokan konstruktoria' ) ;
}
Kutsu toinen konstruktori ja välitä edellä ilmoitettu muuttuja ' Merkkijonon nimi ' parametrina. Käytä ' Tämä '-avainsana päästäksesi arvoon ja kutsumaan ' println() ” menetelmä tulostustarkoituksiin:
this.name = nimi;
System.out.println ( 'Kutsumme parametroidun perustan konstruktoria' ) ;
}
Sisällä ' pää() ' -menetelmä, kutsu lapsiluokka parametrilla ' nimi ”. Se kutsuu yläluokan rakentajia, joissa parametri ' nimi ' on läpäisty. Sitten se kutsuu lapsiluokan rakentajan parametrilla ' nimi ':
uusi lapsi ( 'nimi' ) ;
}
Luodaan lapsiluokka, joka käyttää ' ulottuu ”-avainsana periä pääluokan ja kutsua kolmannen rakentajan. Tämän jälkeen kutsu seuraava konstruktori ja tämän konstruktorin sisällä kutsu emoluokan toinen konstruktori:
Lapsi ( ) {
System.out.println ( 'Ilman lapsiluokan argumenttikonstruktoria' ) ;
}
Lapsi ( Merkkijonon nimi ) {
super ( nimi ) ;
System.out.println ( 'Kutsutaan parametrisoitua lapsen konstruktoria' ) ;
}
}
Lähtö
Siinä kaikki rakentajien ketjuttaminen Javassa.
Johtopäätös
Javassa konstruktoriketjutus samassa luokassa tehdään käyttämällä 'this()'-avainsanaa, kun taas 'super()'-avainsanaa käytetään rakentajien ketjutukseen eri luokissa. Konstruktoriketjutus tapahtuu periytymisen avulla. Alaluokan konstruktori kutsuu ensin superluokan konstruktoria ja sen jälkeen voidaan kutsua lapsiluokan konstruktorit. Tässä postauksessa on käsitelty konstruktoriketjutusta Javassa käytännön esimerkein.