Scala 特质(Trait)
1 package chapter06 2 3 object Test13_Trait { 4 def main(args: Array[String]): Unit = { 5 val student: Student13 = new Student13 6 student.sayHello() 7 student.study() 8 student.dating() 9 student.play() 10 } 11 } 12 13 // 定义一个父类 14 class Person13 { 15 val name: String = "person" 16 var age: Int = 18 17 def sayHello(): Unit = { 18 println("hello from: " + name) 19 } 20 def increase(): Unit = { 21 println("person increase") 22 } 23 } 24 25 // 定义一个特质 26 trait Young { 27 // 声明抽象和非抽象属性 28 var age: Int 29 val name: String = "young" 30 31 // 声明抽象和非抽象的方法 32 def play(): Unit = { 33 println(s"young people $name is playing") 34 } 35 36 def dating(): Unit 37 } 38 39 class Student13 extends Person13 with Young { 40 // 重写冲突的属性 41 override val name: String = "student" 42 43 // 实现抽象方法 44 def dating(): Unit = println(s"student $name is dating") 45 46 def study(): Unit = println(s"student $name is studying") 47 48 // 重写父类方法 49 override def sayHello(): Unit = { 50 super.sayHello() 51 println(s"hello from: student $name") 52 } 53 }
好看请赞,养成习惯:) 本文来自博客园,作者:靠谱杨, 转载请注明原文链接:https://www.cnblogs.com/rainbow-1/p/15819241.html
欢迎来我的51CTO博客主页踩一踩 我的51CTO博客
文章中的公众号名称可能有误,请统一搜索:靠谱杨的秘密基地