构造函数何时可以引发异常?(或者在目标C的情况下:初始者何时应该返回零?) 在我看来,如果对象不完整,构造函数应该失败,从而拒绝创建对象。一、 例如,构造函数应该与其调用者有一个契约,以提供一个函数和工作对象,在该对象上可以有意义地调用哪些方法?这合理吗?
构造函数的工作是使对象进入可用状态。有基本上有两种观点。 一个团体赞成两阶段建设。构造函数只带来对象进入睡眠状态,拒绝做任何工作。 有一个执行实际初始化的附加函数。我一直不明白种方法背后的原因。 我坚信支持一阶段施工的组,其中对象完全已初始化并在构建后可用。如果单阶段构造函数未能完全初始化对象如果对象无法初始化,则不能允许其存在,因此构造函数必须抛出。