![]() |
1
3
首先,我将尝试查看builder模式,但是如果您坚持将其作为构造函数,并且字段应该是最终的,请使用私有构造函数:
|
![]() |
2
3
为什么不创建对象呢
|
![]() |
3
1
而不是单独的
当然,只有1个构造函数和2个构造函数
|
![]() |
4
1
您可以将所有内容下推到2个参数的构造函数,这样它是唯一真正初始化最终字段并进行验证的构造函数。 例如。
如果不希望直接调用两个对象版本(例如,假设要在分配前进行预验证),则声明一个“dummy”参数。这感觉有点错误,但是如果您想让公共和私有的构造函数在语义上具有相同的参数(它们必须在语法上是不同的),那么这实际上是唯一的选择。
|
![]() |
5
0
使用静态工厂方法和一个简单的私有构造函数,它只将值赋给字段,如果需要,还可以进行其他初始化。 |
![]() |
6
0
不知道这是否是一个选项,但是您可以使用依赖项注入,即创建您的字段引用到其他地方的对象,并在构造函数中传递它们。这使得你的课程更容易测试,更灵活。
这样,您可以:
|
|
simply lemon · python上链表的添加方法 1 年前 |
|
Anonymous · 为什么在这个例子中self和类名的用法不同? 1 年前 |
![]() |
P N Singh · 在CPP Oops中调用对象而不创建它 1 年前 |
![]() |
Muthuraj · 如何创建一个通用工厂来创建某种类型的实例[重复] 1 年前 |
![]() |
Andy Votava · 从父类定义调用学生方法 1 年前 |