不是特别懂,但感觉和RUBY当中的MIX-IN功能有几分相似,这又扯到了多重继承及JAVA当中的接口虚拟类了。。

package com.hengheng.scalaclass UseTrait {}
trait Logger {def log(msg : String) {println("log : " + msg)}
}
trait ConsoleLogger extends Logger {override def log(msg : String) {println(msg)}
}
class Test extends ConsoleLogger {def test() {log("Here is Spark!")}
}
class ConcreteLogger extends Logger {def concreteLog {log("It's me!")}
}
object UseTrait extends App {var logger = new ConcreteLoggerlogger.concreteLogvar test = new Testtest.test
}

  输出:

log : It's me!
Here is Spark!

转载于:https://www.cnblogs.com/aguncn/p/4457347.html

SCALA当的trait相关推荐

  1. Scala 034 特质trait

    文章目录 Scala 特质trait trait作为接口使用 trait中还可以定义具体的方法 trait中定义具体的字段和抽象的字段 使用trait实现模板模式 对象混入trait trait实现调 ...

  2. Scala特质(Trait)

    概述: 1.在Scala语言中,采用特质trait来代替接口的概念,也就是说,多个类具有相同的特质时,就可以将这个特质独立出来,采用关键字trait声明. 2.Scala中的trait中即可以有抽象属 ...

  3. 2021年大数据常用语言Scala(三十一):scala面向对象 特质(trait)

    目录 特质(trait) 作为接口使用 定义具体的方法 定义具体方法和抽象方法 定义具体的字段和抽象的字段 实例对象混入trait trait调用链 trait的构造机制 trait继承class 特 ...

  4. scala面向对象之trait

    为什么80%的码农都做不了架构师?>>>    特质(trait),像是Java中接口(interface)的存在.这个大概是在以后详说吧.object可以扩展类,以及一个或多个特质 ...

  5. Scala中的trait特质

    Trait字面意思就是特质或者特征,这个词翻译成特征比较合适.它的意义和Java,c#中的接口很类似.但是trait支持部分实现,也就是说可以在scala的trait中实现部分方法. 在下面的例子中定 ...

  6. 利用Scala特征(trait)的堆叠操作特性进行切面编程

    2019独角兽企业重金招聘Python工程师标准>>> 在Java中进行切面编程,通常需要借助Spring或AspectJ等第三方类库,而在scala中,通过巧妙的使用特征(trai ...

  7. scala 基础十一 scala 中的trait特质

    1.Scala类型系统的基础部分是与Java非常相像的.Scala与Java一样有单一的根类,Java通过接口来实现多重继承,而Scala则通过特征(trait)来实现(Scala的特征可以包含实现代 ...

  8. 大数据必学语言Scala(三十一):scala面向对象 特质(trait)

    文章目录 特质(trait) 作为接口使用 定义具体的方法 定义具体方法和抽象方法 定义具体的字段和抽象的字段 实例对象混入trait trait调用链 trait的构造机制 trait继承class ...

  9. scala的特质(trait)

    特质(trait) scala中没有Java中的接口(interface),替代的概念是--特质 定义 特质是scala中代码复用的基础单元 它可以将方法和字段定义封装起来,然后添加到类中 与类继承不 ...

最新文章

  1. ASP.NET MVC使用Bootstrap系统(2)——使用Bootstrap CSS和HTML元素
  2. 使用libcurl进行HTTP PUT
  3. mysql having关键字可以对group by后的结果再进行筛选
  4. 如何利用大数据做好数据分析
  5. 海豚浏览器历年笔试题
  6. 数据中心降低运营成本战略解密
  7. C++中_tmain()和main()
  8. MySQL 语句使用到的关键字 函数 记录
  9. c语言编译器不支持c99,Visual Studio2013的C语言编译器对C99标准的支持情况
  10. awg线径与电流_AWG电流线径对照表
  11. 无心剑中译莎士比亚诗20首
  12. J-Flash使用方法
  13. 算法初步(一)寻找最小正整数
  14. 7行代码让B站崩溃3小时,竟因“一个诡计多端的0”
  15. 嵌入式学习——c的复习
  16. 问题解决:Too many errors! 3 errors were dropped
  17. 软件工程(2019)结对编程第一次作业
  18. arm-linux-gnueabihf-gcc -Wall -nostdlib -c -O2 -o start.o start.s 什么意思? 2020-11-21
  19. Excel数据透视表、数据透视图
  20. 怎样用一台手机做自媒体?

热门文章

  1. 2022-2028年中国醋酸行业投资分析及前景预测报告
  2. 2022-2028年中国环卫行业产业链深度调研及投资前景预测报告
  3. SpringBoot2.3 修改响应头、添加更新token、解决在过滤器中修改失败
  4. 毕业,新的开始,撸起袖子加油干!
  5. 【微服务架构】SpringCloud之Eureka入门篇
  6. Huggingface及BERT代码介绍
  7. 如何直观地理解「协方差矩阵」?
  8. LeetCode简单题之统计匹配检索规则的物品数量
  9. DSP与CEVA芯片
  10. TVM自定义数据类型