Шаблон фабричного дизайна в monkeyC
Я пытаюсь использовать шаблон фабричного дизайна в моей реализации watchface, но я довольно новый в языке MonkeyC, возможно ли сделать что-то подобное?
class FieldFactory{
function initialize(){
}
function getField(type){
if ( type == "time" ){
return new Time();
}
}
}
class Field{
function initialize(){
}
function update(){
}
function getText(){ return text_;}
function setText(text) {text_ = text;}
private var maxDataLen_;
private var text_;
}
class Time extends Field{
function initialize(){
Field.initialize();
update();
}
function update(){
// do magic with time formatting ... and then set it ...
Field.setText( Lang.format(timeFormat, [hours, clockTime.min.format("%02d")]));
}
}
Я хочу использовать это таким образом:
var fieldFactory = new FieldFactory();
var time = fieldFactory.getField("time");
Sys.println(time.getText());
но, к сожалению, я получаю неожиданную ошибку типа, какие-либо намеки на то, что я делаю неправильно, или это возможно сделать в MonkeyC?
когда я использую идентификатор без фабричного объекта, он работает нормально:
var time = new Time();
Sys.println(time.getText());