我的问题是:为什么我要在vba类中使用Property Get
, Property Let
和Property Set
而不是子例程调用。例如,如果我有一个类PersonCls
与变量:
Private name as String
Private age as Integer
使用属性语法的优势是什么?
Public Sub Setname(nm as String)
name = nm
End Sub
Public Function Getname() as String
Getname = name
End Function
我已经环顾四周,并没有看到这解释得很好(见VBA:为什么使用属性而不是子程序或函数?)。
因为这样写更简单,更容易读
myPerson.Name = myPerson.Name & " Jr."
与
相对myPerson.SetName(myPerson.GetName() & " Jr.")