|
|
1
92
很容易忘记一个特质可以扩展一个类。如果使用trait,可以推迟调用哪个构造函数的决定,如下所示:
trait本身可能没有构造函数参数,但是您可以通过使用抽象成员来解决这个问题。 |
|
2
5
编辑 这是来自scala邮件列表上的一个问题,我认为这个问题在这里是重复的。我的答案是提供三种不同的构造函数(即复制Java设计),而不是扩展类
状态
|
|
3
2
我会选择最通用的一个(在本例中是字符串),如果它满足其他条件,我会自己进行内部转换。 虽然我承认这不是最好的解决办法,但我觉得这有点不对劲-( |
|
|
4
2
在Java中编写一个子类,实现一个构造函数,该构造函数接受其他各种构造函数将接受的所有输入,并根据输入的存在或不存在(通过使用“null”或某种sentinel值)调用其超类的适当构造函数,然后在Scala中对Java类进行子类化,并将sentinel值指定为默认参数。 |
|
KiraHoneybee · 具有构造函数参数的模板化类 3 年前 |
|
|
nick2225 · 隐式调用复制构造函数? 4 年前 |
|
|
nohaga · 为什么在本例中p3需要默认构造函数? 4 年前 |
|
|
Aadil Hoda · 为什么类类型的成员需要初始化? 4 年前 |
|
|
EloiGG · 具有任意类型的变量的可数的C++函数 4 年前 |