Mitä Underbuilders ovat Javassa?
Underbuilder on luokka, joka tarjoaa rakentajan oletustoteutuksen tietylle tyypille. Toisin sanoen se on rakentaja, joka rakentaa tietyn tyyppisiä ilmentymiä.
Oletetaan esimerkiksi, että sinulla on luokka nimeltä "Auto" ja haluat tarjota sille rakentajan. Voit määrittää underbuilderin seuraavasti:
```
class CarBuilder : Builder
// Määritä oletusarvot Car
private var color:n ominaisuuksille: String = "punainen"
yksityinen var make: String = "toyota "
yksityinen var malli: String = "corolla"
yksityinen var vuosi: Int = 2015
// Määritä rakennusmenetelmät, joita voidaan kutsua ominaisuuksien asettamiseen. Fun withColor(väri: String): CarBuilder {
this.color = color
return this
}
fun withMake(merkki: String): CarBuilder {
this.make = make
return this
}
fun withMall(malli: String): CarBuilder {
this.model = malli
return this
}
fun withVuosi(vuosi: Int) : CarBuilder {
this.year = vuosi
return this
}
// Määritä tapa rakentaa Auto-ilmentymä
ohittaa hauska rakennus(): Auto {
return Auto(väri, merkki, malli, vuosi)
}
}
`` "
Tässä esimerkissä "CarBuilder"-luokka on "Car"-luokan alirakennus. Se tarjoaa rakentajan oletustoteutuksen, jota voidaan käyttää "Car" -esiintymien luomiseen. "withColor"-, "withMake", "withModel"- ja "withYear"-menetelmien avulla voit määrittää "Car"-ilmentymän ominaisuudet, ja "build"-menetelmää käytetään itse asiassa "Car"-ilmentymän luomiseen.
Underbuilders ovat hyödyllinen, kun haluat tarjota rakentajan oletustoteutuksen tietylle tyypille, mutta haluat myös antaa muiden rakentajien laajentaa tai muokata kyseistä toteutusta. Sinulla voi esimerkiksi olla perusrakennusohjelma, joka tarjoaa ominaisuuksien oletustoteutuksen, ja sitten muut rakentajat voivat laajentaa tätä perusrakennusohjelmaa lisätäkseen lisäominaisuuksia tai muokatakseen olemassa olevia ominaisuuksia.



