Tietää Java-parametrisoidusta rakentajasta esimerkkien avulla



Tämä artikkeli kertoo kuinka voimme käyttää parametrisoitua konstruktoria Java-sovelluksessa erilaisilla esimerkeillä ja erolla oletusarvoisen ja parametroidun konstruktorin välillä.

Java on yksi monista seuraavista ohjelmointikielistä . Tämä tarkoittaa, että Java-ohjelmoinnissa meillä on kaikki tehokkaat ominaisuudet: tiedonkeruu, polymorfismi, periytyminen jne. Kaikkien OOP-ominaisuuksien ydin on luokkien ja objektien toteutus ja niiden vuorovaikutus toistensa kanssa. Tässä artikkelissa tarkastellaan erityisesti kuinka objekti alustetaan parametrisoiduilla konstruktoreilla . Huomaa, että perustiedot vaaditaan ennen kuin jatkat rakentajille.

toiminnon tyyppi neliöina

Mikä on rakentaja?

Rakentaja on pohjimmiltaan menetelmä, jota kutsutaan automaattisesti, kun luodaan objektille (esiintymä) kyseisestä luokasta. Sitä käytetään alustamaan objektin datajäsenet.





julkinen luokka Edureka {Edureka () {System.out.println ('rakentaja on tehty')}}

Joitakin rakentajan ominaisuuksia ovat:

  1. Sillä on sama nimi kuin luokan nimellä
  2. Sillä ei ole palautustyyppiä

Rakentajan tyypit

  1. Oletusrakentaja
  2. Parametroitu rakentaja

tyypit konstruktoreista parametroituja rakentajia java-edurekassa



Oletusrakentaja vs parametroitu rakentaja

Oletusrakentaja - Rakentajaa, joka ei hyväksy mitään parametria, kutsutaan oletuskonstruktoriksi. Luokkamääritelmässäsi ei tarvitse olla konstruktorilohko. Jos et kirjoita nimenomaisesti rakentajaa, kääntäjä lisää sen automaattisesti.

Esimerkki Java-oletusrakentajan havainnollistamisesta:

julkinen luokka Edureka {Edureka () {System.out.println ('Olen rakentaja')} julkinen staattinen void main (String args []) {Edureka obj = new Edureka ()}}
 Tuotos: Olen rakentaja

Parametroitu rakentaja - Konstruktoria kutsutaan parametrisoitavaksi konstruktoriksi, kun se hyväksyy tietyn määrän parametreja. Alustetaan luokan jäsenet, joilla on erilliset arvot.



Esimerkki parametrisoidusta rakentajasta:

julkinen luokka Edureka {String studentName int studentAge // konstruktori Edureka (String name, int age) {studentName = name studentAge = age} void display () {System.out.println (studentName + '' + studentAge)} public staattinen void main ( String args []) {Edureka myObj = uusi Edureka ('Manan', 19) myObj.display ()}}
 Tuotos: Manan-19

Yllä olevassa esimerkissä välitetään merkkijono ja kokonaisluku objektille. Rakentaja alustaa sitten studentName- ja studentAge-arvot käyttämällä välitettyjä arvoja. Näyttötapa antaa sitten halutun tuloksen.

Kun luokassa on parametroitu konstruktori, on annettava alkuarvot argumentteina, muuten kääntäjä ilmoittaa virheestä.

Esineiden välittäminen argumentteina

Voimme myös välittää argumentteja luodessamme muita luokan esiintymiä. Tällä tavalla parametrisoidut rakentajat täyttävät tarpeen kopioida yhden objektin arvot toiseen.

Esimerkki esineiden läpäisemisestä argumentteina:

julkinen luokka Edureka {Merkkijono opiskelijanimi Edureka (merkkijono) {opiskelijanimi = nimi} Edureka (Edureka myObj) {this.studentName = myObj.studentName} mitätön näyttö () {System.out.println ('Opiskelija:' + opiskelijanimi)} public staattinen void main (String args []) {Edureka obj1 = uusi Edureka ('Manan') / * välittää objektin argumenttina rakentajalle * tämä käynnistää kopiokonstruktorin * / Edureka obj2 = uusi Edureka (obj1) -järjestelmä. out.println ('Tulostus obj1 -') obj1.display () System.out.println ('Tulostus obj2 -') obj2.display ()}}
 Tuotos: 
Objektin 1 tulostaminen -MananObjektin 2 tulostaminen -Manan

Edellä olevassa esimerkissä alustetaan obj1 merkkijonolla. Sitten välitetään obj1 argumenttina luomalla obj2. Lopuksi, kun tulostamme molempien objektien studentName-muuttujan näyttötoiminnon avulla, saadaan 'Manan'.

Oletusrakentajan soittaminen Java-parametrisoidusta rakentajasta

Joskus on tarpeen kutsua oletusrakentaja toiselta saman luokan rakentajalta. tämä avainsana täyttää tämän tarkoituksen.

Esimerkki kutsusta oletusrakentajalle parametrisoidulta rakentajalta:

julkinen luokka Edureka {String studentName int studentAge String-jäsen Edureka () {member = 'YES'} Edureka (String-nimi, int-ikä) {this () / * tätä käytetään soittamaan oletusrakentaja * parametrisoidulta konstruktorilta * / studentName = nimi studentAge = ikä} void display () {System.out.println (studentName + '-' + studentAge + '-' + 'Member' + member)} public staattinen void main (String args []) {Edureka obj = new Edureka ('Manan', 21) obj. Näyttö ()}}

Tuotos: Manan - 21 - jäsen KYLLÄ

Yllä olevassa esimerkissä, kun parametrisoitua konstruktoria kutsutaan, se kutsuu ensin oletusrakentajaa tämän () avainsanan avulla. Oletuskonstruktori alustaa 'jäsen' -muuttujan arvoksi 'KYLLÄ' ja jatkaa sitten parametrisoidun konstruktorin suorittamista.

Rakentajan ylikuormitus

Rakentaja tukee menetelmien ylikuormitusta aivan kuten kaikki muutkin luokat. Eri tyyppien tai argumenttien lukumäärän perusteella kutsutaan erilaisia ​​konstruktoreita.

Esimerkki rakentajan ylikuormituksesta:

public class Suorakulmio {int pituus int leveys Merkkijonon väri // konstruktori 1 Suorakulmio (int l, int b) {pituus = l leveys = b väri = 'Vihreä'} // konstruktori 2 Suorakulmio (int l, int b, String c) {pituus = l leveys = b väri = c} mitätön näyttö () {System.out.println ('Pituus- + pituus +' Leveys- + leveys + 'Väri' + väri)} julkinen staattinen tyhjä pää (Merkkijono argumentit [ ]) {Suorakulmio obj1 = uusi suorakulmio (2,4) suorakulmio obj2 = uusi suorakulmio (2,4, 'vihreä') obj1.display () obj2.display ()}}
 Tuotos: Pituus - 2 leveys - 4 väriä - vihreäPituus - 2 leveys - 4 väriä - punainen

Nyt kun sinulla on käsitys siitä, mitä rakentajat ovat ja miten työskennellä heidän kanssaan, olet yksi askel lähempänä matkaa oppia Java. Rakentajien kaltaiset käsitteet ovat yksinkertaisia, mutta ovat erittäin tärkeitä, koska niihin liittyy luokkia ja esineitä. Jos haluat syvällisempiä aiheita ja hauskoja lukuja, ilmoittaudu Edurekan sivuille . Voit vapaasti tarkistaa meidän aloittaa oppimisen.

Onko sinulla kysymys meille? mainitse tämä tämän 'Parameterized Constructor in Java' -artikkelin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.