Rakentajat ovat tärkeä käsite oliopohjaisessa ohjelmoinnissa, erityisesti C#:ssä. Ne mahdollistavat luokan objektien alustamisen tietyillä ominaisuuksilla. Tässä oppaassa opit, kuinka voit käyttää useita rakennuttajia luokassa tehokkaasti lisätäksesi sovellustesi joustavuutta ja käyttäjäystävällisyyttä.

Tärkeimmät havainnot

  • Voit määrittää useita rakennuttajia luokassa tarjotaksesi erilaisia alustamisvaihtoehtoja.
  • On olemassa parametroidut rakennuttajat ja oletusrakentaja.
  • Parametreilla voi olla oletusarvoja, joita käytetään, jos erityisiä arvoja ei anneta.

Askel askeleelta -opas

Aloitetaan luomalla yksinkertainen luokka. Käytä luokkaa, joka edustaa autoja. Aluksi toteutat parametroidun rakentajan, joka mahdollistaa auton luomisen valmistajaa ja ajoneuvotyyppiä ilmoittaen. Näissä esimerkeissä oletamme, että luomamme ajoneuvot ovat käytettyjä.

Useita konstruktoreita C#-luokissa tehokkaasti hyödyntäminen

Parametroidun rakentajan lisäksi lisäämme oletusrakentajan. Tätä kutsutaan, kun parametreja ei anneta. Tämä on parametrillinen rakentaja, joka asettaa ennaltamäärättyjä arvoja objektin ominaisuuksille, kuten valmistajalle ja ajoneuvotyypille.

Oletusrakentajan määrittelemiseksi teet siitä julkisen ja nimeät sen samalla tavalla kuin luokka itse. Esimerkiksi kutsut auton luokan rakentajaa yksinkertaisesti julkiseksi Autoksi. Tässä tapauksessa asetamme oletusarvon valmistajalle "Opel Automobile GmbH" ja ajoneuvotyypille "Corsa".

Nyt, kun oletusrakentaja on toteutettu, näytät, kuinka sitä käytetään. Voit luoda uuden auton yksinkertaisesti kutsumalla oletusrakentajaa ilman parametrien määrittämistä. Kun auto on luotu, se tulostaa auton ominaisuudet varmistaakseen, että oletusarvot on asetettu oikein.

Useita konstruktoreita C#-luokissa tehokkaasti

Nyt laajennamme Auto-luokkaa kahdella lisäominaisuudella: väri ja ajoneuvon ikä. Nämä tiedot ovat tärkeitä, erityisesti käytetyissä autoissa. Käyttäjän tietojen syöttämisessä saattaa kuitenkin olla, että käyttäjä ei tarjoa kaikkea dataa. Siksi luomme uuden rakentajan, joka hyväksyy nämä lisäparametrit - eli ajoneuvotyypin, värin ja iän.

Useita konstruktoreita C#-luokissa tehokkaasti hyödyntäminen

Määrität tämän uuden rakentajan samalla tavalla kuin edelliset ja muokkaat logiikkaa uuden parametrin ottamiseksi huomioon. Varmista, että yhdistät sisäiset muuttujat annettuihin arvoihin, jotta luokka toimii oikein. Myös tulostusmenetelmä on mukautettava ottaakseen huomioon uudet ominaisuudet tulostettaessa.

Useita konstruktoreita C#-luokissa tehokkaasti

Ominaisuuksien tarkistaminen tapahtuu if-lauseella varmistaaksesi, että vain ei-nollatiedot tulostetaan. Näin voit saada erityisiä tietoja ajoneuvoista, vaikka joitakin tietoja puuttuisi.

Useita konstruktoreita C#-luokissa tehokkaasti

Nyt on aika testata, toimiiko kaikki oikein. Luo uusi auto, nimeä se "uusi auto 2" ja määritä ajoneuvotyyppi, väri jaikä. Luotuasi ajoneuvon kutsu tulostusta tarkistaaksesi uuden rakentajan tehokkuuden.

Näiden testien avulla voit nähdä, kuinka eri rakennuttajat toimivat Auto-luokassa ja millaisia tietoja tulostetaan. Oletusrakentajaa käytetään, kun parametreja ei anneta, kun taas vaihtoehtoiset rakentajat ottavat vastaan erityiset yksityiskohtaiset tiedot.

Useita konstruktoreita C#-luokissa tehokkaasti hyödyntäminen

Lopuksi, pienenä harjoituksena, luo uusi ominaisuus, kuten "rekisterinumero", ja lisää uusi rakentaja, joka hyväksyy kaikki asiaankuuluvat tiedot - ajoneuvotyypin, rekisterinumeron, värin ja iän. Muokkaa myös tulostusta lisäämällä if-else-lause, varmistaaksesi, että tiedot näytetään oikein.

Useita konstruktoreita C#-luokissa tehokkaasti

Yhteenveto - Useiden rakennuttajien tehokas käyttö

Olet nyt oppinut, kuinka implementoida useita rakennuttajia C#-luokassa ja määrittää niille erilaisia parametreja. Kyky käyttää useita rakennuttajia lisää koodisi joustavuutta ja tekee siitä mukautuvaa erilaisiin käyttötapauksiin.

Usein kysyttyjä kysymyksiä

Kuinka monta rakennuttajaa voin olla luokassa?Ei ole kiinteää ylärajaa, voit määrittää niin monta rakennuttajaa kuin tarvitset, kunhan ne eroavat parametreissaan.

Mikä on ero oletusrakentajan ja parametroidun rakentajan välillä?Oletusrakentajalla ei ole parametreja ja se alustaa objektin ennalta määritetyillä arvoilla, kun taas parametroidut rakentajat hyväksyvät parametrin määrittääkseen erityisiä arvoja objektin luomisessa.

Voinko ylikuormittaa rakennuttajia?Kyllä, voit ylikuormittaa rakennuttajia määrittämällä useita rakentajia samassa luokassa eri parametrilistoilla.

Mitä tapahtuu, jos en määritä rakennuttajaa?Jos rakennuttajaa ei ole määritetty, kääntäjä tarjoaa oletusrakentajan, joka ei suorita toimintoa, mutta alustaa objektin.