package hfd
//隐式类
//任务:给之前的BaseUser添加新的功能,但是不要直接去改代码
//思路:把BaseUser通过隐式转换,改成一个新类型,而这个新类型中有这新的方法
//implicit class===一个隐式转换函数+类
//作用:拓展已有类的功能,而不需要去修改之前类的代码
object Test38_1 {implicit class PowerUser(b:BaseUser) {def updateUser(){println("updateUser")}}
// def transform(b:BaseUser):PowerUser={
// new PowerUser()
// }
//10年,小王写的代码class BaseUser{def showUser():Unit={println("showUser")}}def main(args: Array[String]): Unit = {val u1=new BaseUser()u1.showUser()// transform(u1).updateUser()//希望要添加的新功能u1.updateUser()//希望要添加的新功能}
}