2016-12-30 97 views
0

这里不可见的是我的课 -斯卡拉:类构造函数ARGS外

class Component(name: String, kind: String, 
       signature: ComponentSignature) { 
    val steps = mutable.ListBuffer.empty[StreamAssignment] 

    def addStep(assignment: StreamAssignment) = { 
    steps += assignment 
    } 
} 

我有以下使用别的地方 -

def addSource(src: Component) = { 
    sources += (src.name, src) 
} 

我得到一个错误,组件没有一个场“名称”。

我的理解是,就构造函数arg而言,就可见性而言,就像是在类中声明的val。我错过了什么?

+0

我想你必须指定访问修饰符为它隐含创建成员。 – Carcigenicate

回答

2

如果想在类的构造函数参数的外部可见,你应该使用val,以构建参数,如:

class Component(val name: String, val kind: String, 
       val signature: ComponentSignature) { 
+0

谢谢。完全错过了。我的错。 – anindyaju99

+0

或者使用'case class',它自动使整个第一个参数列表'val's。 –