Scala 编程:特性与函数式编程全解析
特性(Traits)相关内容
1. 特性中的抽象和具体字段
在 Scala 里,特性可以包含抽象或具体字段。具体字段需有初始值,抽象字段则无需初始值。以下是一个示例:
trait PizzaTrait {
var numToppings: Int // 抽象字段
var size = 14 // 具体字段
val maxNumToppings = 10 // 具体字段
}
class Pizza extends PizzaTrait {
var numToppings = 0 // 无需 'override' 关键字
size = 16 // 无需 'var' 和 'override' 关键字
}
对于 var 字段,在子类中重写时无需使用 override 关键字;而 val 字段重写时则必须使用。示例如下:
trait PizzaTrait {
val maxNumToppings: Int
}
class Pizza extends PizzaTrait {
override val maxNumToppings = 10 // 必须使用 'override'
}
2. 像抽象类一样使用特性
可以把特
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



