Scala隐式对象

打印 上一主题 下一主题

主题 851|帖子 851|积分 2553

  1. object ccc2 {
  2.   //隐式对象
  3.   //格式:就是在对象面前加一个implicit
  4.   //作用:给函数当默认值
  5.   case class DatabaseConfig(driver:String,url:String)
  6. implicit object MySqlConfig extends DatabaseConfig("mysql.jdbc","localhost:3306")
  7.   //定义一个连接数据库的函数
  8.   def getCon(implicit config:DatabaseConfig):Unit = {
  9.     println(config)
  10.   }
  11.   def main(args: Array[String]): Unit = {
  12.    // println(MySqlConfig)
  13.     getCon//使用默认值
  14.     getCon(DatabaseConfig("sqlite","localhost:80"))//使用自己定义的值
  15.   }
  16. }
复制代码
隐式类
  1. //隐式类 == 一个类+一个隐式转换函数
  2. //格式:在class的前面,添加implicit
  3. //要点:要有一个参数,就要待被转换的类型,返回的类型就是当前的类
  4. object ccc3 {
  5.    implicit class X (s:String){
  6.      println("构造器被调用了。。。")
  7.     def testabc:Unit ={
  8.      println("abc.....",s)
  9.    }
  10. }
  11. //  implicit def transform(s:String):X = {
  12. //    new X(s)
  13. //  }
  14.   def main(args: Array[String]): Unit = {
  15.     "abcddd".testabc
  16.   }
  17. }
复制代码
!!! 
 



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

科技颠覆者

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表