mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question Náhodný
speech play
speech pause
speech stop

Co jsou Underbuilders v Javě?

Underbuilder je třída, která poskytuje výchozí implementaci builderu pro konkrétní typ. Jinými slovy, je to tvůrce, který vytváří instance konkrétního typu.… Řekněme například, že máte třídu nazvanou `Car` a chcete pro ni poskytnout stavitel. Můžete definovat underbuilder takto:
```
class CarBuilder : Builder {
// Definujte výchozí hodnoty pro vlastnosti Car
private var color: String = "red"
private var make: String = "toyota "
private var model: String = "corolla"
private var year: Int = 2015

// Definujte metody stavitele, které lze volat k nastavení vlastností
fun withColor(color: String): CarBuilder {
this.color = color
return this
}

fun withMake(make: String): CarBuilder {
this.make = make
return this
}

fun withModel(model: String): CarBuilder {
this.model = model
return this
}

fun withYear(year: Int) : CarBuilder {
this.year = year
return this
}

// Definujte metodu pro sestavení instance Car
override fun build(): Car {
return Car(color, make, model, year)
}
}
`` `
V tomto příkladu je třída `CarBuilder` podstavcem pro třídu `Car`. Poskytuje výchozí implementaci stavitele, kterou lze použít k vytvoření instancí `Car`. Metody `withColor`, `withMake`, `withModel` a `withYear` umožňují nastavit vlastnosti instance `Car` a metoda `build` se používá k vytvoření instance `Car`.

Underbuilders jsou užitečné, když chcete poskytnout výchozí implementaci tvůrce pro konkrétní typ, ale zároveň chcete umožnit ostatním tvůrcům tuto implementaci rozšířit nebo upravit. Můžete mít například základního tvůrce, který poskytuje výchozí implementaci vlastností, a ostatní tvůrci mohou tento základní tvůrce rozšířit o další vlastnosti nebo upravit ty stávající.

Knowway.org používá cookies, aby vám mohl poskytovat lepší služby. Používáním Knowway.org souhlasíte s naším používáním cookies. Podrobné informace naleznete v našem textu Zásad používání souborů cookie. close-policy