我在VB.NET中有一个名为Math.vb的模块,并且在该模块中,我创建了一个显示返回一个数字到另一个数字的百分比的函数。我有一个调用函数的Sub,我从我的Form1类中调用Sub。将该功能放入课堂或模块中是否有优势/劣势?在VB.NET中将函数放入模块或类中更好吗
回答
这一切都取决于。 VB.net中的模块基本上与静态类相同,但是您不必在具有“模块名称”的模块中添加前缀方法名称。
这使得模块成为一个很好的地方,可以放置具有非常通用性并且与任何现有类无关的“实用工具”功能。您的“百分比”功能可能适合此类别。另一方面,如果要创建一个代表这些数字的类来计算其百分比,并且该类的一个方法将成为此“百分比”函数,那么将返回基于百分比的百分比关于在类实例中定义的数字,那么,是的,我会把这个函数放在一个类中。
最后,如果百分比函数只能从Form1类调用,那么我会在该类中使其成为PRIVATE函数。
对于方法,您通常希望应用可能的最严格范围。
我不认为有任何区别。模块本质上是一个类,其中每个成员都是共享的。
模块不能实现接口或从另一个类继承。
问题是你应该把CallPercentage放在哪里。
首先,这是一个很好的问题吗?是的,这是一个非常好的问题,因为重要的是你放置了一段代码。我认为OOP设计实际上是关于“如何组织它”。
对于您的具体问题,我想很可能您希望将其与Form1放在一起,如果它纯粹服务于Form1的功能。 但是,如果您认为它与百分比函数一般,并且在很多情况下会被调用,您可能需要将其放入模块中。通常情况下,您希望保持模块免受频繁更改。
还有一个建议,既然VB.Net已经有了“数学”,你最好用一个特定的名字来调用模块,比如“XiaMath”。
虽然我主要同意drventure的回答。我只想补充一点,这是我的经历,就我曾经参加过的任何一段时间的项目而言,早晚有人会说“我知道,让我们做线程吧!”或者“让我们把这个DLL移到一个web服务!”在你做完它之后,你会想要建立一个时间机器并及时回顾并扼杀编写math.vb模块的人,因为每隔一段时间,它就会吐出错误的答案,并且你不知道为什么。
- 1. 应该将F#函数放在模块,类或其他结构中吗?
- 2. 在JavaScript中使用模块或类更好吗?
- 3. VB.NET,类和模块与函数
- 4. 如何在Ruby中将模块级函数导入类实例?
- 5. 在类本身或类的构造函数中分配变量会更好吗?
- 6. 将模块包含在类中(Ruby Mixins):有什么更好的?
- 7. 将数据保存在XML或数据库中会更好吗?
- 8. 在VB.NET中直接调用模块函数是不是很好的做法?
- 9. 在类中放入什么函数
- 10. 在模块中导入类
- 11. 将Excel-VBA代码放入模块或表单中?
- 12. 将PHP块放在文档中或者将PHP DOM与锚点一起使用会更好吗?
- 13. 从函数或main中退出python脚本会更好吗?
- 14. 将类参数放入会话对象中是个好主意吗?
- 15. 在VB.NET或C#中没有Form.Submit()函数?
- 16. 如何将arraylist或数组放入JList中的构造函数?
- 17. 在codeigniter中哪个更好?在助手中添加函数或在扩展基类中添加函数
- 18. Python静态类或模块中的函数
- 19. 在jQuery中交换类或交换内容是更好吗
- 20. 缓存块/视图或面板中的元素会更好吗?
- 21. 模块在Python中有类型吗?
- 22. Rails将验证放在模块mixin中?
- 23. 在Javascript中,我可以在更新函数中放置一个OnTrigger函数吗?
- 24. 将模块放在/ helpers或/ lib中的差异?
- 25. CountWord和CountVowel在VB.NET中进入函数
- 26. 使用注释块或函数进行变量启动会更好吗?
- 27. 从没有模块依赖的模块中导入函数
- 28. textbox在vb.net或c中插入和删除函数#
- 29. 如何从类方法中的导入模块调用函数?
- 30. C++中的类函数参数比计算密集函数中的类变量更好吗?