云星数据---Scala实战系列(精品版)】:Scala入门教程027-Scala实战源码-Scala 的特质 (接口)03

183 篇文章 0 订阅
64 篇文章 1 订阅

Scala创建对象混入特质

创建对象时候混入特质,创建对象时可以混入多个特质,从左至右依次构造;
对象混入的trait中如果有抽象成员,必须实现。(原理是匿名Z的子类)

package scala_learn.demo06_trait

/**
 * Created by liguohua on 2017/3/1.
 */
class O4_TraitDemo {

}

object O4_TraitDemo {
  def main(args: Array[String]) {
    //创建对象时候混入特质
    val v1 = new Birds with X
    v1.t1
    //创建对象时可以混入多个特质,从左至右依次构造
    val v2 = new Birds with X with Y
    v2.t1
    v2.t2
    //对象混入的trait中如果有抽象成员,必须实现。(原理是匿名Z的子类)
    val v3 = new Birds with X with Z with Y {
      override def t3 {
        println("son Z t3")
      }
    }
    v3.t1
    v3.t2
    v3.t3
  }
}

trait X {
  def t1: Unit = {
    println("X t1")
  }
}

trait Y {
  def t2: Unit = {
    println("X t2")
  }
}

trait Z {
  def t3
}

class Birds {

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值