一.多继承 上篇trait中,已经看到了其用法十分灵活,可以借此实现类似"多重继承"的效果,语法格式为: class/trait A extends B with C with D ... 之所以要给多重继承加一个引号,是因为这有约束条件的,上面的语法中,从左向右看,extends 后的B是A的基本类型,不管后面接多少个trait,如果C或D,本身又继承自其它class(上一篇讲过,trait也可以继承自class),则C或D的基类必须与B的基类保持一致,否则的话,JVM上的OOP世界…
package traitandclass /** * Created by zhen on 2018/8/23. */ class Human { println("Human") } trait Teacher extends Human{ println("Teacher") def teach } trait Player extends Human{ println("Player") def play = {println("…
为什么学习函数式编程 在阅读DDD巨著<Patterns, Principles, and Practices of Domain-Driven Design>的过程中,Scott在第5章提到了使用函数式编程语言配合贫血模型去实践DDD的一种思路,这激发了我的无限遐想. 在软件开发领域,我们已经拥有了许多的抽象方法论和大量的实现技术.但我个人认为,这一切归根结底,都是人类思维在软件开发领域的具体表达方式.而人类在认识和分析软件所要解决的业务领域问题时,思考的内容不外乎由两个部分组成:『业务流程…