Private Sub、Function 和 Class 的区别
Posted
技术标签:
【中文标题】Private Sub、Function 和 Class 的区别【英文标题】:Difference between Private Sub, Function and Class 【发布时间】:2011-05-02 20:27:27 【问题描述】:以下有什么区别:
私人分会 私有函数 私人课堂什么时候应该使用每一个?
【问题讨论】:
我不知道你在读什么,但是 msdn 上的这个链接可能会有所帮助msdn.microsoft.com/en-us/library/ms973814.aspx 【参考方案1】:Private 是一个修饰符,它给出了类、子或函数的范围。
sub 和 function 都是子例程,或可以在程序中调用的代码段。它们的区别在于函数有返回值,而子函数没有。
类是一组代码,可以包含子类、函数和其他内容。
【讨论】:
甜蜜而简单的答案(y) 函数必须有返回值吗?或者你能有一个void
函数吗?
如果您没有为函数声明类型(或声明“作为对象”)并且没有指定返回值,它将返回“Nothing”。如果你不返回一个函数的值,它将与返回一个未定义的变量相同。
这真的是唯一的区别吗?我的意思是在这种情况下,我不明白为什么存在 subs...在内存使用或代码速度方面可能没有差异吗?
我认为这是遗产。 Function 和 Subroutine 至少从 Fortran 66 开始就已经存在了,那时 Basic 所拥有的只是 Gosub。那时使用更严格。在更现代的语言中,通常可以忽略函数的返回值或编写没有返回值的函数,尽管这可能不是最佳实践。两者的速度差异不大——您可以使用 StopWatch 进行尝试,并分别对等效函数和子函数进行大量调用。【参考方案2】:
Sub 就像一个函数,但它不返回任何值,它只是执行一个进程
【讨论】:
【参考方案3】:类是一个类, Sub 和 Function 是方法, private 是一个访问修饰符
现在检查此链接,
http://msdn.microsoft.com/en-us/library/ms973814.aspx
【讨论】:
以上是关于Private Sub、Function 和 Class 的区别的主要内容,如果未能解决你的问题,请参考以下文章
作为模块化字段访问修饰符的 Dim、Global、Public 和 Private 有啥区别?