首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构造方法

构造方法
EN

Stack Overflow用户
提问于 2011-06-12 20:06:53
回答 1查看 316关注 0票数 0

在我看来,有一种方法是我们应该能够申报的。对“构造器方法”或“构造器帮助器”的影响的东西。

这些方法只能从构造函数中调用。我可以看到这样做的几个原因:

  • 首先,我希望我的构造函数是干净的。如果我必须将许多逻辑转储到构造函数中,我想组织它。但是,我将逻辑组织成的方法可能不是我应该在构造函数之外调用的方法。我希望能够声明构造函数--只有methods.
  • Secondly,类似地,只读成员变量只能在构造函数内初始化。例如,即使从构造函数调用只读变量,也不能在方法中初始化该变量。我希望能够声明方法‘只使用构造函数’,然后就可以在其中初始化只读成员变量。
  • 最后,虽然我可以看到‘如果构造函数足够复杂,需要简化为多个方法调用,那么它们做的太多了’,但存在一个以上的构造函数可能需要与另一个构造函数完全相同的逻辑的情况。如果我有三个构造函数,它们都需要初始化一个只读成员变量,那么我应该将初始化逻辑提取到一个单独的方法中。虽然我可以设置这样一个返回初始化值的方法,而不是实际进行初始化,但我仍然希望能够声明这种方法为‘仅构造函数’,因为它可能不应该在其他地方使用。

编辑:把这变成一个问题:是否有一些我不知道的问题,它是否没有必要,或者这真的是一个有用的特性?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-12 20:12:49

就像你在最后一点上说的。构造函数中有很多逻辑是错误的。至少对我来说。你要么在别的地方做,要么什么也不做。类似于创建单独的类,执行此操作,然后将该类作为参数传递给构建器。

如果您想要泛化构造函数调用,您可以链接不同的构造函数,因此,当一个构造函数被调用时,另一个构造函数也会被调用,第一个构造函数中的逻辑也会被调用。然后这些构造函数中的一些可以是私有的,因此不能从外部调用它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6324339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档