|
本帖最后由 silenthunter 于 2013-12-20 22:29 编辑
以下两种方法,普通模块的写法一样,但类模块的写法却完全不同。显然第2种类模块的写法简单得多。
请教这两种方法各自原理是什么,哪一种比较好?
第1种方法:
普通模块:
Private Sub Classtest()
Dim Rect As New Rectanglee_1
Rect.Gao = 11
MsgBox Rect.Gao, vbInformation
End Sub
类模块:
Dim Heightt As Double, Lengthh As Double
Property Let Gao(h)
Heightt = h
End Property
Property Get Gao()
Gao = Heightt
End Property
=========================
第2种方法:
普通模块:
Private Sub classtest2()
Dim Rect As New Rectanglee_2
Rect.Gao = 11
MsgBox Rect.Gao, vbInformation
End Sub
类模块:
Public Gao As Double
主要的区别有两点
1 读写分开,可以分别设置权限,例如设置某个属性为只读.
2 let或get里不仅仅可以赋值,还可以添加一些计算过程,例如长度单位换算(米换成毫米),数据格式修改等等.
|
|