Skip to content
gqlxj1987's Blog
Go back

scala trait

Edit page

原文链接

trait并不是interface,而是一个功能模块,允许用户把这个模块插入到class中

trait本身也可以继承,方法也可以直接在trait里实现

scala> val service2 = new ServiceImportante("dos") with StdoutLogging {
     |   override def work(i: Int): Int = {
     |     info(s"Starting work: i = $i")
     |     val result = super.work(i)
     |     info(s"Ending work: i = $i, result = $result")
     |     result
     |   }
     | }
service2: ServiceImportante with StdoutLogging = $anon$1@674fee6d

当然也可以重复使用ServiceImportante with StdoutLogging,定义一个新的class


Edit page
Share this post on:

Previous Post
baseline 开发
Next Post
AUTO_INCREMENT Handling in InnoDB