Scala 模式匹配与类型处理全解析
1. 服务实例与特质混入
在Scala中,如果我们需要多个带有 StdoutLogging 的 ServiceImportante 实例,可以声明一个类:
class LoggedServiceImportante(name: String)
extends ServiceImportante(name) with StdoutLogging {...}
这里我们将 name 参数传递给父类 ServiceImportante 。创建实例时, new LoggedServiceImportante("tres") 能按预期工作。
若只需要一个实例,我们可以在定义变量时混入 StdoutLogging 。要使用日志增强功能,需要重写 work 方法,Scala要求在重写父类的具体方法时使用 override 关键字,可通过 super.work 访问父类的 work 方法,这和Java等其他语言类似。
2. 模式匹配概述
模式匹配表达式乍一看类似C语言风格的 case 语句,但Scala的模式匹配功能更强大。C语言风格的 case 语句通常只能匹配
超级会员免费看
订阅专栏 解锁全文
68

被折叠的 条评论
为什么被折叠?



