scala设计模式--适配器模式

适配器模式

/**
  *
  * 隐式转换实现适配器模式
  * 适配器模式可以通过隐士转换,将不符合预期的现有类转换为目标接口
  * 该模式对集成已经存在的各个组件很有用。
  *
  * @author Yyyyy
  * @version 1.0
  *
  **/
/**
  * 现有的标准电源,输出220电压
  */
class PowerSource {
  val outPut = "220V电压"
}


/**
  * 需要的电源
  */
trait Charger {
  def get5V: String
  def get10V: String
}


/**
  * 隐士转换类(变压器) 将标准电压转为输出电压,需要什么就重写什么方法即可
  */
object Transformer {
  implicit def swap(p: PowerSource): Charger = new Charger {
    override def get5V: String = ???
    override def get10V: String = p.outPut+"已经转为10V,可以给电脑充电了"
  }
}


/**
  * 客户端调用
  */
object Client {
  def main(args: Array[String]): Unit = {

    import Transformer._
    val source = new PowerSource()
    println(source.get10V)
   // println(source.get5V)

  }
}

执行结果

220v电压已经转为10v 可以给电脑充电了

Process finished with exit code 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值