使用模块而不是VB中的类有什么优势?它们有何不同,使用模块有哪些优点/缺点?在VB或VB.NET中,我使用它们。
答案 0 :(得分:7)
(A) Modules
和
(B)只有Shared
函数的类
解决同样的问题:两者都允许您逻辑分组一组功能。
使用模块的优点:
使用具有共享功能的类的优点:
因此,如果您正在编写一组辅助函数并希望对它们进行逻辑分组(此组的 state 的概念没有意义),请使用模块 - 这正是他们在这里的目的。另一方面,如果您有一个概念上适合已有类的函数,请将其作为共享函数添加到该类中。
答案 1 :(得分:1)
主要区别在于模块中的方法可以全局调用,而类中的方法则不能。因此,您只需拨打ModuleName.MyMethod()
,而不是MyMethod()
。这是优势还是劣势取决于具体情况。
答案 2 :(得分:0)
模块来得早,现在VB.NET只是为了向后兼容。模块和类几乎相同。您可以直接调用Module.Function(),因为它在类中视为Shared
函数。您可以定义Shared
函数/方法的类,另外还可以创建类似Dim c as Class = New Class()
的实例。
避免使用Module,而是使用Class。编写更好的OOP编程对你有好处。