JMK*_*JMK 9 vb6 encapsulation class
好的,所以我理解离子VB6,类中的封装属性可以属于以下三种类别之一:
这些以及它们与C#等更现代的语言中的公共和私有属性相比有何区别?
Mar*_*rkJ 13
将范围限定词 Public,并Friend 确定在不同的项目客户端是否可以看到该项目.
Public项目将在其他项目1中的 客户端代码和同一项目中的代码中访问. Friend项目只能访问同一项目中的代码,而不能访问其他项目中的代码.Private 只有同一类中的代码才能访问这些项.属性与公共变量不同,因为对于属性,您可以在客户端获取或设置值2时执行自己的代码.按照Deanna的评论编辑:还要注意变量可以通过ByRef传递给函数,并且更改将按预期工作.属性并非如此.
NB C#可能更现代,但恕我直言VB6处理的属性和公共变量明显优于 .Net处理.
恕我直言微软在.Net中创建属性和公共字段之间的这些差异时犯了一个真正的设计错误.不相信?在.Net的第一个版本之后,修改了C#和VB编译器以支持自动实现的属性.这些允许您只在一行代码中创建属性,以便以后可以在get/set上添加逻辑而不会导致问题.恕我直言,这证明公共变量应该与属性无法区分.
1假设您的项目类型实际上允许您的类被其他项目(即ActiveX DLL,OCX或ActiveX exe)使用.
2在Property Get,Property Let和Property Set程序.
| 归档时间: |
|
| 查看次数: |
11101 次 |
| 最近记录: |