У меня есть класс со свойством, которое заполняется конструктором, но мне нужно, чтобы оно заполнялось по-другому, когда вызывается альтернативный конструктор.Например, я хочу, чтобы код был примерно таким:
class MyClass(someArg: String) {
val someValue = valuePopulator(someArg)
def this(someArg1: String, someArg2: String) {
someValue = alternateValuePopulator(someArg1, someArg2)
}
def valuePopulator(arg: String) {
\\ does something
}
def alternateValuePopulator(arg: String, arg2: String) {
\\ does something else
}
}
Конечно, это не работает, но в основном я хочу, чтобы someValue
равнялся выводу valuePopulator
, когда класс создается нормально,Однако someValue
должен быть результатом alternateValuePopulator
при вызове альтернативного конструктора.Как я могу создать свойства класса, которые заполняются конструктором способом, который зависит от того, какой конструктор вызывается?