1.补充一个新的类,把这个新的方法写到这个类中。
2.补充一个隐式转换函数,把这个旧类转成这个新类。
package lll
/*
* 隐式类
*
* 背景:有一个现成的类,它有一个方法。我们现在需要对这个类的功能进行拓展:额外补充一个新方法
*
*但是:不允许直接修改原来的类的代码
*
* 思路:
* 1.补充一个新的类,把这个新的方法写到这个类中。
* 2.补充一个隐式转换函数,把这个旧类转成这个新类。
* */
//有一个现成的类,它有一个方法
object l5 {
class User {
def insertUser(): Unit = {
println("修改用户.........")
}
}
class UserExt {
def updateUser():Unit={
println("修改用户.........")
}
}
implicit def XXX(user: User):UserExt={
new UserExt
}
def main(args: Array[String]): Unit = {
val u1=new User()
u1.insertUser()
u1.updateUser()
}
}