深入理解Scala高级类型
在Scala编程中,高级类型是提升代码灵活性和可维护性的关键。本文将详细介绍Scala的各种高级类型,包括单例类型、类型投影、路径、类型别名等,并通过具体的代码示例进行说明。
1. 单例类型(Singleton Types)
给定任何引用 v ,可以形成类型 v.type ,它有两个值: v 和 null 。单例类型在方法链和接受对象实例作为参数的方法中有实际应用。
1.1 方法链
考虑一个返回 this 的方法,以便进行方法链调用:
class Document {
def setTitle(title: String) = { ...; this }
def setAuthor(author: String) = { ...; this }
...
}
可以这样调用:
article.setTitle("Whatever Floats Your Boat").setAuthor("Cay Horstmann")
但如果有子类时会出现问题:
class Book extends Document {
def addChapter(chapter: Str
超级会员免费看
订阅专栏 解锁全文
1137

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



