我正在定义Abstract类的ArrayBuffer,如下所示。
abstract class Transformation(tableName: List[String],operation: List[String], outputTable: String){}
var transformationArray: ArrayBuffer[Transformation] = ArrayBuffer()
这个ArrayBuffer可以包含派生类的元素吗?
class Map(tableName: List[String], newColumn: String, operation: List[String], outputTable: String)
extends Transformation(tableName: List[String],operation: List[String], outputTable: String) {
}
transformationArray += new Map(tableName,newColumn,operation,outputTable)
我无法从transformationArray
访问Map的值答案 0 :(得分:1)
类构造函数默认为private。添加val
即可更改。
abstract class Transformation(val tableName :List[String]
,val operation :List[String]
,val outputTable :String)
现在您可以访问它们了。
transformationArray.head.outputTable //res0: String = tbl