大数据技术之Scala
======第一篇:Scala编程语言=====
Scala语言的面向对象(七)Scala中的trait(特质)
Java Scala 中是单继承,C++中,可以多继承,可应用于区块链。
trait就是抽象类。trait跟抽象类最大的区别:trait支持多重继承。
Scala代码实现:
package mianxiangduixiang.lei
/**
* Scala中的特质-trait
* 定义两个父类,定义两个trait
* 人、动作
* 子类:学生
*/
trait Human{
//定义抽象的字段
val id:Int
val name:String
}
trait Action{
//定义一个抽象的函数
def getActionName():String
}
//定义一个子类
class Students(val id:Int,val name:String) extends Human with Action{
//需要实现getActionName方法
override def getActionName(): String = "Action is running"
//extends Human with Action,Action2就是多重继承
}
object Trait {
def main(args: Array[String]): Unit = {
//创建学生对象
var s1=new Students(1,"Tom")
println(s1.id+"\t"+s1.name)
println(s1.getActionName())
}
}