В этом сообщении блога представлен хороший пример объектов-конструкторов. используется API JavaFX 2.
Один построитель может использоваться для создания нескольких объектов.
Объект построителя отвечает за создание допустимого объекта, но объект не создается, пока вы не вызовете метод build()
. Это означает, что один и тот же построитель можно использовать несколько раз для создания совершенно разных объектов.
Пример:
final TextBuilder builder = TextBuilder.create()
final Text text1 = builder
.text("Hello World!")
.x(50).y(50)
.fill(Color.WHITE)
.font(MY_DEFAULT_FONT)
.build();
final Text text2 = builder
.text("Goodbye World!")
.x(50).y(100)
.fill(Color.WHITE)
.font(MY_DEFAULT_FONT)
.build();
Это можно делать столько раз, сколько вы хотите создать разные объекты. Просто чтобы еще раз повторить, что объект не создается до тех пор, пока не будет вызван метод build()
, подумайте, что вы можете сделать следующее:
final Text text1 = TextBuilder.create()
.text("Hello World!")
.text("Goodbye World!")
.text("Hello There!")
.build();
что приведет к созданию одного объекта с текстом, установленным на «Hello There», поскольку это значение свойства до вызова метода build()
.
Параметры построителя можно настраивать между созданиями объектов, чтобы варьировать объекты.
Пример ниже демонстрирует это.
// Set the properties that are common to all objects.
final TextBuilder builder = TextBuilder.create()
.x(50)
.fill(Color.WHITE)
.font(MY_DEFAULT_FONT);
// Use the builder to construct different objects that have the
// properties set above as well as the additional ones set here.
final Text text1 = builder.text("Hello World!").y(50).build();
final Text text2 = builder.text("Goodbye World!").y(100).build();
final Text text3 = builder.text("JavaFX is fun!").y(150).build();
person
Benjamin Gale
schedule
20.01.2013