Що таке Underbuilders у Java?
Underbuilder — це клас, який забезпечує реалізацію за замовчуванням builder для певного типу. Іншими словами, це конструктор, який створює екземпляри певного типу.
Наприклад, припустімо, що у вас є клас під назвою «Автомобіль», і ви хочете створити для нього конструктор. Ви можете визначити underbuilder так:
```
class CarBuilder : Builder
// Визначити значення за замовчуванням для властивостей Car
private var color: String = "red"
private var make: String = "toyota "
private var model: String = "corolla"
private var year: Int = 2015
// Визначте методи конструктора, які можна викликати для встановлення властивостей
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
}
// Визначте метод створення екземпляра Car
override fun build(): Car {
return Car(color, mark, model, year)
}
}
`` `
У цьому прикладі клас `CarBuilder` є базовим для класу `Car`. Він забезпечує стандартну реалізацію конструктора, який можна використовувати для створення екземплярів `Car`. Методи `withColor`, `withMake`, `withModel` і `withYear` дозволяють установити властивості примірника `Car`, а метод `build` використовується для фактичного створення примірника `Car`.
Underbuilders є корисно, коли ви хочете надати стандартну реалізацію конструктора для певного типу, але ви також хочете дозволити іншим конструкторам розширювати або змінювати цю реалізацію. Наприклад, у вас може бути базовий конструктор, який забезпечує реалізацію властивостей за замовчуванням, а потім інші конструктори можуть розширити цей базовий конструктор, щоб додати додаткові властивості або змінити існуючі.



