gpt4 book ai didi

scala - 抽象 val 而不是主构造函数参数

转载 作者:行者123 更新时间:2023-12-04 07:27:59 25 4
gpt4 key购买 nike

考虑这两个类以及创建实例的方式:

class Person1(val name: String)

val p1 = new Person1("John");

和:
abstract class Person2 {
val name: String
}

val p2 = new Person2 {
val name = "John"
}

为什么更喜欢后者( Person2 )版本?每一个这样的声明都会导致创建新的子类,而且代码稍微冗长且可读性较差,但是第二个习惯用法在 Scala 编程书中多次使用。与直接字段相比有哪些优势?

最佳答案

一个简单的用例是使用 trait,它不能有构造函数参数。

关于scala - 抽象 val 而不是主构造函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6890004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com