从构造函数中调用方法是否是一个好习惯?从构造函数中调用方法是否是一种很好的做法?
3
A
回答
1
我假设你正在谈论正在初始化的类的其他私人/公共职能。
像其他地方一样,我会说分解大型复杂的行为到子功能是很好的做法。
明显的复杂情况是调用依赖于尚未初始化的对象内容的函数。
由于构造函数和其他函数在类中具有相同的可见性(从代码可维护性的角度来看),我认为这不是不合理的说,可以利用其他函数但对于程序员确保避免这种循环依赖(如虚函数)。
1
如果我有很多其他重载版本的构造函数需要用同样的方法初始化类,我有时会在我的对象的构造函数中放入一个init()调用。这是干的。
0
如果这些方法是虚拟的,则不应该。无论如何,只要确保你的构造函数失败(或者它调用的某个方法失败),你的构造函数就会“catch”来对它分配的任何IDisposables执行Dispose()。
相关问题
- 1. 在另一个操作中通过构造函数调用Struts动作是否是一种很好的做法?
- 2. 在析构函数中调用函数是一种很好的做法吗?
- 3. 在构造函数中使用Override注解是一种很好的做法吗?
- 4. 在包含该方法的对象的构造函数中调用实例方法是否是一种很好的做法?
- 5. 在另一种方法的参数列表中调用方法是否是Java中的一种良好做法?
- 6. 总是加入SQL表是否是一种很好的做法?
- 7. JavaScript:window.spam是一种很好的做法吗?
- 8. 从java构造函数调用实例方法是好的还是不好的做法?
- 9. 在onPause()方法中调用GC是不是很好的做法?
- 10. if else在类构造函数中的条件......是不是很好的做法?
- 11. 存储计算值是否是一种很好的做法?
- 12. 拆分CSS是否是一种很好的做法?
- 13. 在方法中使用输入参数是一种很好的做法
- 14. 在构造函数中使用递归是不好的做法?
- 15. 在堆栈上存储C结构是否是一种很好的做法?
- 16. 在异常构造函数中参数化错误消息是否是一种好的做法?
- 17. 根据用户语言制定常数是否是一种很好的做法?
- 18. 在Exception构造函数中调用方法是否可接受?
- 19. 将Solr用作数据库是否是一种好的做法
- 20. 用“使用”来引用特定项目是否是一种很好的做法?
- 21. 从头开始嵌套函数是不是很好的做法?
- 22. 编写通常只有一种公开方法公开的类是否是一种很好的做法?
- 23. 是否可以从方法中的字符串参数调用构造函数?
- 24. 取消设置cookie过期参数是否是一种很好的做法?
- 25. 在不可变的构造函数方法中验证构造函数参数是坏的还是好想法?
- 26. 快速退出方法或构造函数是否有好处?
- 27. 手动更改平台中的文件是否是一种很好的做法?
- 28. 从构造函数调用类方法
- 29. 在服务层方法中传递IQueryable作为参数是否是一种很好的做法?
- 30. 将Android Activity的对象传递给Thread类的构造函数是一种很好的做法吗?
...并且不要忘记重新抛出异常。 – 2010-06-22 02:27:30
Thanx的答案球员。我问这个问题的原因是框架设计指南书说,构造函数应该尽可能简单,只应该用于初始化purpose.But如果我必须从数据库设置一些属性创建一个类的实例。如果我有一个项目类。我想创建一个类传递一个投影参数到类构造器的实例,如 Project proj = new Project(projectid); 然后我想检查proj.HasForecasts属性。这是从数据库设置的。我可以通过调用构造函数 – SRK 2010-06-22 02:56:45
中的方法来设置此属性是的,您可以在构造函数中完成这项工作,但我可能会考虑在Project类中使用静态“Create”方法。 – 2010-06-22 20:35:10