Скала эквивалент публичного поля Java - PullRequest
7 голосов
/ 23 июня 2010

В Java у меня есть такой класс:

public class MyClass extends Properties {
    public StringProperty prop1 = new StringProperty(this, "default value for prop1");  
    public StringProperty prop2 = new StringProperty(this, "prop2 default val");
}//MyClass

Родительский класс «Свойства» использует отражение для поиска всех открытых полей внутри себя и заполняет переменные значениями по мере необходимости.

Как мне расширить свойства в scala? Использование var prop1:StringProperty ... не работает, я предполагаю из-за того, как scala конвертирует приватные поля для получения ... set ... type методов.

1 Ответ

7 голосов
/ 23 июня 2010

Scala помечает поле как личное, но генерирует методы доступа, которые устанавливают и получают его значение.Если вы хотите использовать отражение, чтобы сделать это, вы можете сделать это так, как описано: здесь

...