从构造函数调用方法是一个好习惯吗?

时间:2010-06-22 02:21:25

标签: .net class-design

从构造函数调用方法是一个好习惯吗?

3 个答案:

答案 0 :(得分:1)

如果我有很多其他需要以相同方式初始化类的构造函数的重载版本,我有时会在我的对象的构造函数中调用init()。这是干的。

答案 1 :(得分:1)

我假设您正在讨论正在初始化的类的其他私有/公共函数。

与其他任何地方一样,我会说将大型复杂行为分解为子函数是一种很好的做法。

显而易见的复杂因素是调用依赖于尚未初始化的对象内容的函数。

由于构造函数和类中的其他函数具有相同的可见性(从代码可维护性的角度来看),我认为可以利用其他函数但对程序员来说是必要的,这是不合理的。确保避免这种循环依赖(如虚函数)。

答案 2 :(得分:0)

如果这些方法是虚拟的,那就不是。无论如何,只要确保如果你的构造函数失败(或者它调用的方法之一失败)你的构造函数执行“catch”来对它分配的任何IDisposable执行Dispose()。