2016-12-30 98 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。 –