Scala编程:面向对象与函数式编程解读
1. 内部类(Inner Classes)
Scala 和 Java 都允许定义内部类,即一个类定义在另一个类内部。与 Java 不同的是,在 Scala 中内部类可以从外部访问,并且类的每个实例都可以包含内部类的实例。
例如,创建一个包含书籍播放列表的类,每个播放列表有一个名称和一个书籍列表:
class Playlist(var name : String):
var books : List[Book] = Nil
def addBook(book : Book) : Unit =
books = book :: books
class Book(var name : String, var isbn : String)
val playlist = Playlist("Horror")
playlist.addBook(playlist.Book("ET", "sdsd"))
print(playlist.books.size)
需要注意的是,传递给 addBook 方法的书籍必须是使用同一个 Playlist 实例创建的,否则会在控制台抛出异常。
2. 值类(Value Classes)
Scala 提供了值类来减少类、方法或对象接收多个参数时可能出现的问题,因为参数顺序很容易出错。值类可以看作是一个只包含一个参数的包装器,编译器会帮助检查方法是否只接收这种类型的参数。
超级会员免费看
订阅专栏 解锁全文
92

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



