Scala隐式转换之隐式转换函数
来源:互联网 发布:淘宝女装店铺改卖男装 编辑:程序博客网 时间:2024/05/21 07:13
/** * 隐式转换是Scala中一种特殊的功能,它能将一种数据类型转换成另外一种数据类型, * 然后这种数据类型将拥有另外一种数据类型的所有方法,可以看成是对类的一种增强。 * 隐式转换分为两种: * 1.隐式转换函数 * 2.隐式转换值 * * 定义隐式转换的关键字是implicit * 隐式转换的命名方式是one2one的形式 */class SpecialPeron(var name: String)class Older(var name: String)class Student(var name: String)class Teach(var name: String)object ImplicitDemo { def buySpecialTickWindow(peron: SpecialPeron): Unit = { if (peron != null) { println(peron.name + "购买了一张特殊票!") } else { println("你不是特殊人群,不能在此买票!") } } //隐式转换函数 implicit def any2SpecialPerson(any: Any): SpecialPeron = { /** * if条件结构 */ // if (any.isInstanceOf[Older]) { // new SpecialPeron(any.asInstanceOf[Older].name) // } else if (any.isInstanceOf[Student]) { // new SpecialPeron(any.asInstanceOf[Student].name) // } else { // null // } /** * 模式匹配 */ any match { case any: Older => new SpecialPeron(any.asInstanceOf[Older].name) case any: Student => new SpecialPeron(any.asInstanceOf[Student].name) case _ => null } } def main(args: Array[String]): Unit = { val older = new Older("老人") val student = new Student("学生") val teacher = new Teach("讲师") buySpecialTickWindow(older) buySpecialTickWindow(student) buySpecialTickWindow(teacher) }}
阅读全文
0 0
- Scala隐式转换之隐式转换函数
- scala隐式转换函数
- Scala之隐式转换
- Scala之隐式转换
- Scala之隐式转换
- Scala之隐式转换
- Scala 之隐式转换函数(十)
- scala-隐式转换
- scala 隐式转换
- Scala隐式转换
- Scala隐式转换
- scala隐式转换
- scala隐式转换
- scala 隐式转换
- scala隐式转换
- scala隐式转换
- scala隐式转换
- scala隐式转换
- 38-逻辑操作符的陷阱
- 【Cocos2d-x游戏开发lua篇之基础】显示文字
- 程序员与自己
- 区间DP BZOJ 1260
- 互联网架构第三课
- Scala隐式转换之隐式转换函数
- python练习 0004
- 20171029
- Binary Search Tree的实现 C++版
- 【tensorflow】查看cuda,cudnn版本命令
- centos7上编译安装MYSQL5.6
- WERTYU
- 递归之整数分解为若干项之和(深度搜索加回溯法)
- 开始前端——第二篇