Hvordan kjede konstruktører i java

Hvordan kjede konstruktører i java

Mens programmering i Java, kan det være tilfeller der utvikleren trenger å integrere forskjellige kodefunksjonaliteter. For eksempel å koble de tilknyttede eller gjensidig avhengige funksjonene med minimale kodelinjer. I slike situasjoner, "kjedekonstruktører”I Java bistå med å automatisere kodefunksjonalitetene ved bare å opprette et klasseobjekt, og dermed effektivisere kodekompleksiteten.

Denne artikkelen vil utdype tilnærmingene til “kjedekonstruktører” i Java.

Hvordan "kjede konstruktører" i java?

Metodikken for å få tilgang til et sett med konstruktører ved initialisering/oppretting av et klasseobjekt omtales som "Konstruktørkjeding”. Konstruktørkjeding er nyttig når det er behov for å få tilgang til flere konstruktører, etter hverandre.

Dette kan oppnås ved hjelp av "dette()”Og“super()”Metoder. Den tidligere metoden påkaller den anropsklassekonstruktøren og sistnevnte metode får tilgang til den arvelige klassekonstruktøren.

Eksempel 1: kjetting konstruktører i en enkelt klasse i java

I dette eksemplet kan konstruktørene lenes i samme klasse. Dette kan gjøres ved å bruke “dette()”Metode som får tilgang til den parameteriserte konstruktøren og viser funksjonalitet først:

Klassekjeden
Kjede()
dette ("Java -programmering!");
System.ute.println ("Dette er standardkonstruktør!");

Kjede (streng x)
System.ute.Println ("Dette er konstruktør med parametere!");


offentlig klasse kjedeConstructor
public static void main (String args [])
Kjedeobjekt = ny kjede ();


I ovennevnte kodebit:

    • For det første, definere en klasse som heter “Kjede”.
    • I sin definisjon, inkluderer standardklassekonstruktøren omdirigering til den lenket parameteriserte konstruktøren via “dette()”Metode og vise den uttalte meldingen.
    • Merk at det passerte strengargumentet i "dette()”Metode identifiserer og påkaller den lenket konstruktøren.
    • Nå, definer konstruktøren med en parameter som akkumulerer “Streng”Datatype som inneholder den oppgitte meldingen.
    • I “hoved-”, Lag et objekt i klassen som heter“gjenstand”Bruke“ny”Nøkkelord og“Kjede()Henholdsvis konstruktør.
    • Algoritme: Koden kjøres på en slik måte at det opprettede objektet peker på standardkonstruktøren, og denne konstruktøren påkaller den lenket konstruktøren via “dette()”Metode og viser sin (parameteriserte konstruktør) funksjonalitet først og vender deretter tilbake til sin (standard) egen.

Produksjon


I output ovenfor kan det observeres at den omdirigerte lenket konstruktøren (parameterisert) påberopes før standardkonstruktøren.

Eksempel 2: kjetting konstruktører i arvelig klasse i java

I dette spesielle eksemplet kan konstruktørene være lenket via “arvet”Klasse:

Klassekjedeparent
ChainParent ()
dette ("Java -programmering!");
System.ute.Println ("Dette er foreldrestandard konstruktør!");

Kjedeparent (streng x)
System.ute.Println ("Dette er foreldrekonstruktør med parametere!");

Klassekjedebarn utvider ChainParent
Chainchild ()
dette ("Linuxhint!");
System.ute.println ("Dette er barnestandard konstruktør!");

Kjedebarn (streng x)
super();
System.ute.Println ("Dette er barnekonstruktør med parametere!");

public class chainconstructor2
public static void main (String args [])
Chainchild -objekt = new chainchild ();


I denne kodeblokken:

    • På samme måte definer en foreldreklasse som heter “Kjedeparent”Inneholder den tidligere konstruktøren som påkaller den parameteriserte konstruktøren ved å bruke“dette()”Metode og det passerte argumentet.
    • Nå, erklærer barneklassen “Kjedebarn”Arver foreldreklassen ved hjelp av“strekker”Nøkkelord.
    • I denne klassen, gjenta de diskuterte tilnærmingene for å inkludere standard og parameteriserte konstruktører og omdirigere til sistnevnte konstruktør via “dette()”Metode.
    • I den parameteriserte konstruktøren, bruk "super()”Metode for å påkalle standardkonstruktøren i den arvelige klassen.
    • I “hoved()”Metode, lag et objekt av den arvelige (Child) -klassen via den diskuterte tilnærmingen.
    • Utførelsessekvens: Foreldreklasse parameterisert konstruktør-> Foreldreklasse Standard konstruktør-> barneklasse parameterisert konstruktør-> barneklasse Standard konstruktør.

Produksjon



I dette utfallet kan det analyseres at kjettingen gjøres perfekt.

Konklusjon

Konstruktørene i Java kan være lenket ved hjelp av “dette()”Og“super()”Metoder ved å påkalle henholdsvis konstruktøren av samtaleklassen og konstruktøren av den arvelige klassen. Den tidligere metoden kjeder konstruktørene i samme klasse, mens den sistnevnte metoden bruker henholdsvis kjetting via den arvelige klassen. Denne bloggen uttalte tilnærmingene til kjedekonstruktører i Java.