Underbuilders ใน Java คืออะไร?
Underbuilder คือคลาสที่ให้การใช้งานเริ่มต้นของตัวสร้างสำหรับประเภทเฉพาะ กล่าวอีกนัยหนึ่ง คือตัวสร้างที่สร้างอินสแตนซ์ประเภทเฉพาะเจาะจง ตัวอย่างเช่น สมมติว่าคุณมีคลาสชื่อ `Car` และคุณต้องการจัดเตรียมตัวสร้างสำหรับคลาสนั้น คุณสามารถกำหนด underbuilder ได้ดังนี้:
```
class CarBuilder : Builder
// กำหนดค่าเริ่มต้นสำหรับคุณสมบัติของ Car
var color: String = "red"
private var make: String = "toyota "
โมเดล var ส่วนตัว: String = "corolla"
ปี var ส่วนตัว: Int = 2015
// กำหนดวิธีการสร้างที่สามารถเรียกเพื่อตั้งค่าคุณสมบัติ
สนุกกับสี (สี: สตริง): CarBuilder {
this.color = color
กลับ this
}
สนุกกับ Make(make: String): CarBuilder {
this.make = make
return this
}
สนุกกับ Model(model: String): CarBuilder {
this.model = model
return this
}
สนุกกับปี(ปี: Int) : CarBuilder {
this.year = year
return this
}
// กำหนดวิธีการสร้าง Car instance
override fun build(): Car {
return Car(color, make, model, year)
}
}
`` `
ในตัวอย่างนี้ คลาส `CarBuilder` เป็นตัวสร้างรองสำหรับคลาส `Car` โดยจัดให้มีการใช้งานเริ่มต้นของตัวสร้างที่สามารถใช้เพื่อสร้างอินสแตนซ์ของ 'รถยนต์' เมธอด `withColor`, `withMake`, `withModel` และ `withYear` อนุญาตให้คุณตั้งค่าคุณสมบัติของอินสแตนซ์ `Car` และใช้เมธอด `build` เพื่อสร้างอินสแตนซ์ `Car` จริง ๆ
Underbuilders คือ มีประโยชน์เมื่อคุณต้องการจัดเตรียมการใช้งานเริ่มต้นของตัวสร้างสำหรับประเภทเฉพาะ แต่คุณยังต้องการให้ตัวสร้างอื่นขยายหรือแก้ไขการใช้งานนั้นด้วย ตัวอย่างเช่น คุณอาจมีตัวสร้างฐานที่จัดเตรียมการใช้งานคุณสมบัติเริ่มต้น จากนั้นตัวสร้างอื่นๆ ก็สามารถขยายตัวสร้างฐานนั้นเพื่อเพิ่มคุณสมบัติเพิ่มเติมหรือแก้ไขคุณสมบัติที่มีอยู่



