一 需求
二 代码
package demo01
/**
* Created by 一个蔡狗 on 2020/3/30.
*/
object Trait04 {
// 进入办公室
trait office{
def office(name:String ): Unit ={
println("第六步 "+name+" 努力工作! 走向人生巅峰吧 !!")
}
}
//入职体检
trait medical extends office{
override def office(name: String): Unit = {
println("第五步 "+name+" 您好! 您的入职体检通过了,赶紧入职把!")
super.office(name)
}
}
//面试
trait interview extends medical{
override def office(name: String): Unit = {
println("第四步 "+name+" 您好! 您的面试通过了,赶紧做个体检把!")
super.office(name)
}
}
// 高中 HighSchool
trait HighSchool extends interview{
override def office(name: String): Unit = {
println("第三步 "+name+" 您好! 您已经获得 高中毕业证,赶紧面试吧!")
super.office(name)
}
}
// 高中毕业
trait HighGraduation extends HighSchool{
override def office(name: String): Unit = {
println("第二步 "+name+" 您好! 您已毕业,赶紧领取高中毕业证把!")
super.office(name)
}
}
// 专科 Specialized subject
trait SpecializedSubject extends interview{
override def office(name: String): Unit = {
println("第三步 "+name+" 您好! 您已经获得 专科毕业证,赶紧面试吧!")
super.office(name)
}
}
//专科毕业
trait SpecializedSubjectGraduation extends SpecializedSubject{
override def office(name: String): Unit = {
println("第二步 "+name+" 您好! 您已毕业,赶紧领取专科毕业证把!")
super.office(name)
}
}
// 本科 Undergraduate course
trait UndergraduateCourse extends interview{
override def office(name: String): Unit = {
println("第三步 "+name+" 您好! 您已经获得 本科毕业证,赶紧面试吧!")
super.office(name)
}
}
// 本科毕业
trait UndergraduateCourseGraduation extends UndergraduateCourse{
override def office(name: String): Unit = {
println("第二步 "+name+" 您好! 您已毕业,赶紧领取本科毕业证把!")
super.office(name)
}
}
// 高中在读 HighSchoolReading
class HighSchoolReading extends office with medical with interview with HighSchool with HighGraduation {
def Reading(name:String): Unit ={
println("第一步 "+name+"同学高中正在读。")
super.office(name)
}
}
// 专科在读 SpecializedSubjectReading
class SpecializedSubjectReading extends office with medical with interview with SpecializedSubject with SpecializedSubjectGraduation{
def Reading(name:String): Unit ={
println("第一步 "+name+"同学专科正在读。")
super.office(name)
}
}
// 本科在读 UndergraduateCourseReading
class UndergraduateCourseReading extends office with medical with interview with UndergraduateCourse with UndergraduateCourseGraduation{
def Reading(name:String): Unit ={
println("第一步 "+name+"同学本科正在读。")
super.office(name)
}
}
// 测试运行
def main(args: Array[String]): Unit = {
var zhangsan = new HighSchoolReading()
zhangsan.Reading("张三")
println("================================")
var lisi = new SpecializedSubjectReading()
lisi.Reading("李四")
println("================================")
var wangwu = new UndergraduateCourseReading()
wangwu.Reading("王五")
}
}
效果展示