![]() |
1
4
它不必是完全相同的对象,它只需在外部观察者看来是相同的。如果您将所有数据从一个对象复制到另一个对象,它将完成相同的事情。
|
![]() |
2
7
你不能让一个物体“变成”另一个物体。 使用静态方法而不是构造函数(并将构造函数设为私有/内部/任何类型,以便只有静态方法可以访问它们)。与构造函数相比,使用静态方法有许多好处:
缺点是它们不适用于C集合/对象初始值设定项:( 静态方法的另一种选择是拥有一个单独的工厂,并对其调用实例方法。 |
![]() |
3
3
你不能。微软通过定义一个公共的静态create()方法来实现这一点。请参见System.NET命名空间中的webRequest和httpwebRequest示例。我建议你也这么做。 将基类的构造函数设为内部或私有,因此它不能直接实例化。或者更好的是,把它变成一个抽象类。在create()实现中使用隐藏的构造函数。 |
![]() |
4
2
你可以用一个
变成:
|
![]() |
5
0
你可以安排一个叫
使
然后,将所有属性
但是,最好的方法是拥有一个私有的构造函数并使用工厂方法。 是否有必要使用构造函数? |
![]() |
KiraHoneybee · 具有构造函数参数的模板化类 3 年前 |
![]() |
nick2225 · 隐式调用复制构造函数? 3 年前 |
![]() |
nohaga · 为什么在本例中p3需要默认构造函数? 3 年前 |
![]() |
Aadil Hoda · 为什么类类型的成员需要初始化? 3 年前 |
![]() |
EloiGG · 具有任意类型的变量的可数的C++函数 3 年前 |