case class

Scala学习之类和属性篇(二):定义类的辅助构造方法

痴心易碎 提交于 2020-03-12 21:46:41
在Scala中定义主构造函数使用this关键字: 每一个辅助构造函数都需要调用之前定义的任何一个构造函数 每一个辅助构造函数都要有不同的参数表 一个构造函数使用this关键字调用另一个构造函数 scala> :paste // Entering paste mode (ctrl-D to finish) class Pizza(var crustSize: Int, var crustType: String) { def this(crustSize: Int) { this(crustSize, Pizza.DEFAULT_CRUST_TYPE) } def this(crustType: String) { this(Pizza.DEFAULT_CRUST_SIZE, crustType) } def this() { this(Pizza.DEFAULT_CRUST_SIZE, Pizza.DEFAULT_CRUST_TYPE) } override def toString = s"A $crustSize inch pizza with a $crustType crust" } object Pizza { val DEFAULT_CRUST_SIZE = 12 val DEFAULT_CRUST_TYPE = "THIN" } // Exiting paste