1
我读的行动斯卡拉(曼宁版),而且在这种模式一章用一个代码示例:什么是接班人价值模式
class PureSquare(val side: Int) {
def newSide(s: Int): PureSquare = new PureSquare(s)
def area = side * side
}
这本书有应该解释模式的链接。不幸的是,链接被破坏,我找不到它。
有人能够解释这种模式,以及这段代码应该如何工作?
因为在调用区域函数时我看不到newSide是如何调用的。
谢谢
OK,所以你想改变侧各一次,你必须调用newSide实际上创建了一个新的对象,使对象不可改变的。感谢您的回答! – unludo
@unludo但任何引用旧版本的内容都不会看到更改。这实际上被看作是一件好事,因为它允许理智的并发,避免同步死锁等等。 – itsbruce