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()//希望要添加的新功能} }