object class02 {
class Boss {
def power(): Unit = {
println("Boss 有权力....")
}
var car = "豪车"
}
// 子类 继承 父类
class NoBody extends Boss {
}
def main(args: Array[String]): Unit = {
val b = new NoBody()
println(b.car)
b.power()
}
}
Scala 支持属性重写,需满足:
- 父类属性为 val(不可变),子类可重写为 val 或 var。
- 父类属性为 var(可变),子类不可重写(避免数据一致性问题)。
继承的应用场景
- 代码复用:多个类存在共同属性 / 方法时,提取到父类,子类继承复用。
- 功能扩展:子类在父类基础上添加新功能,或重写父类方法实现差异化逻辑。
- 多态实现:通过父类引用指向子类实例,实现 “同一方法不同实现” 的多态效果