1)scala中,让子类继承父类,与java一样,使用extends关键字
2)继承就代表,子类可以从父类继承父类的field和method,然后子类可以在自己内部放入父类所没有,子类特有的filed和method,使用继承可以复用代码
3)子类可以覆盖父类的filed和method,但是要注意的是final关键字,代表field和method无法覆盖
4)子类中的方法要覆盖父类中的方法,必须写override
5)子类中的属性val要覆盖父类中的属性,必须写override
6)父类中的变量不可以覆盖
4)定义抽象类
abstract class Animal { //定义一个抽象类,用于继承
var age :Int = 2
val weight:Double = 35
//抽象方法,没有具体的实现
def color()
//非抽象方法,有具体的实现
def eat()={
println("吃食物")
}
//使用了final关键字,表示不能重写, override
final def action():Unit = {
println ("奔跑")
}
}
/**
* 如果想实现父类的方法:CTRL+I
* 如果想重写父类的方法:CTRL+O
*/
class Monkey extends Animal{
//重写父类字段
override var age:Int = 15
override val weight: Double = 15
Scala 继承与多态与trait
最新推荐文章于 2024-08-01 10:37:16 发布
本文详细探讨Scala编程语言中的继承机制、多态性和trait的使用。通过实例解析,阐述如何利用这些特性构建灵活且强大的类型系统,同时讨论了trait作为实现多继承的解决方案以及其在行为组合中的作用。
摘要由CSDN通过智能技术生成