Scala中Trait基本用法与使用详解
时间:2026-08-15 | 作者:冻月看渠 | 阅读:0(一)trait定义和作用
[讲] Scala里并没有 Ja va 那种单独的 interface 概念,因此通常会把 Scala 的 trait 理解成与 Ja va 接口相对应的东西。
Scala 中特质的定义方式如下:
trait identified {
属性; 方法
}
trait是关键字,identified 表示一个合法的标记。
(二)实现单个特质
[码] 用一个类去实现单个特质。
package level02
/*
* 特质
* trait: 实现多继承
**/
object class16 {
trait BeautifulEye {
val eye: String = "眼睛漂亮"
}
trait Tall {
val height: String = "大高个"
}
// 继承 with
class Child extends BeautifulEye with Tall {
}
def main(args: Array[String]): Unit = {
val child = new Child()
println(child.eye)
println(child.height)
}
}
(三)实现多个特质
格式:类名 extends 特质1 with 特质2 with 特质3。其中多个特质的顺序可以交换。
【代码示范】
定义两个特质,使用一个类来实现他们。
package level02
/*
* 特质
* trait: 实现多继承
**/
object class16 {
trait BeautifulEye {
val eye: String = "眼睛漂亮" // 具体属性
val name:String // 抽象属性
}
trait Tall {
val height: String = "大高个"
def run():Unit={
println("run......")
}
def jump():Unit
}
// 继承 with
class Child extends BeautifulEye with Tall {
val name :String="小花"
def jump():Unit={
println(s"${name},jump.......")
}
}
def main(args: Array[String]): Unit = {
val child = new Child()
println(child.eye)
println(child.height)
child.run()
child.jump()
}
}
结果如下:
(四)特质成员的处理方式
一个类继承了一个特质之后,需要处理其中的属性和方法。
分成四种情况:
-
1.特质中的抽象属性:可以通过val或var修饰来重写。
-
2.特质中的抽象方法:一定要实现方法体。
-
3.特质里的具体属性也有一条很容易忽略的规则:重写var时,不用再写override和var,直接写属性名就行;但如果重写的是val,就必须显式加上override关键字。
-
4.特质中的具体方法:使用override重写,且保持名称,参数,返回值一致。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 迅捷路由器怎么调信号最强,设置时要注意什么?
- 时间:2026-08-27
-
- vivo浏览器怎么卸不掉?原因和解决方法在这里
- 时间:2026-08-27
-
- OPPO R11s黑屏了,怎么强制恢复出厂设置?
- 时间:2026-08-27
-
- 飞利浦显示器包装盒有生产日期和保修期吗?怎么看?
- 时间:2026-08-27
-
- 联想新平板开机必须联网吗?怎么做?
- 时间:2026-08-27
-
- 平板横竖屏切换设置与问题解决
- 时间:2026-08-27
-
- 移动电源容量怎么测?要准备哪些工具?
- 时间:2026-08-27
-
- 荣耀90 Pro防水吗?防水级别多少?怎么用才安全
- 时间:2026-08-27
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15