|
|
1
7
那怎么办?在尚未存在的对象上设置属性? 我认为您应该认识到您的类的设计有问题,并尝试更改它,使其变得更具可测试性,例如通过使用 dependency injection . |
|
2
1
这听起来很奇怪:克劳斯比斯科夫可能是对的,因为这里有一些设计问题。 这些成员是直接在代码中设置的吗?例如
如果是这种情况,那么可以更改这些成员的唯一方法是子类重写它们,例如构造函数
将确保subclass()将字段初始化为“something else”。但是,这将运行 之后 myClass()的构造函数。 我将仔细检查您的构造函数中是否需要任何逻辑。一般来说,这是一个坏主意;如果需要在对象中有条件地创建成员,请考虑 Factory pattern 相反。 |