Поскольку вы не инициализируете переменную с чертой Compiler
.Это означает, что вы ожидаете, что любой, кто расширяет Compile
, определяет что-то , которое ведет себя как переменная.
Например, допустимо следующее:
class Example extends Compiler {
var _printInstruction = "foo"
def pritnInstruction = "I don't care about setter"
def pritnInstruction_=(pi: String) = _printInstruction = pi
}
Если выхотите иметь возможность использовать
class JavaCompiler extends Compiler {
printInstruction = "System.out.print(arg0);"
}
Затем инициализируйте вашу переменную в черте Compiler
:
trait Compiler {
var printInstruction: String = _
}