如下代码:
1. 定义了一个类Class1,Class1中有A,B,C三个属性和一个D过程.
2. 定义了一个函数RegName,它的返回值类型为上面定义的类Class1.然后在调用类里面的东西的时候会有两种情况,第一种比较好理解,但是第二种情况使用了函数名.x这种调用是什么意思?
还有就是RegName.D New Form1 为什么要用New呢?和直接用RegName.D(Form1)有什么区别?
还有就是第二种情况这样调用类的东西和函数本身有什么关系?真是有点不太理解,请高手赐教.先谢谢了!Class1:Public Property Get A() As VariantEnd PropertyPublic Property Let A(ByVal vNewValue As Variant)End PropertyPublic Property Get B() As VariantEnd PropertyPublic Property Let B(ByVal vNewValue As Variant)End PropertyPublic Property Get C() As VariantEnd PropertyPublic Property Let C(ByVal vNewValue As Variant)End PropertyPublic Sub D(str As Form)End Sub
Function RegName:Private Function RegName(ByVal strName As String) As Class1
'.....
'.....
'.....
End Function
两种情况:'第一种情况:
Dim s As Class1
Set s = New Class1
s.A
s.B
s.C
Call s.D(Form1)
'第二种情况:
RegName.A
RegName.B
RegName.C
RegName.D New Form1
1. 定义了一个类Class1,Class1中有A,B,C三个属性和一个D过程.
2. 定义了一个函数RegName,它的返回值类型为上面定义的类Class1.然后在调用类里面的东西的时候会有两种情况,第一种比较好理解,但是第二种情况使用了函数名.x这种调用是什么意思?
还有就是RegName.D New Form1 为什么要用New呢?和直接用RegName.D(Form1)有什么区别?
还有就是第二种情况这样调用类的东西和函数本身有什么关系?真是有点不太理解,请高手赐教.先谢谢了!Class1:Public Property Get A() As VariantEnd PropertyPublic Property Let A(ByVal vNewValue As Variant)End PropertyPublic Property Get B() As VariantEnd PropertyPublic Property Let B(ByVal vNewValue As Variant)End PropertyPublic Property Get C() As VariantEnd PropertyPublic Property Let C(ByVal vNewValue As Variant)End PropertyPublic Sub D(str As Form)End Sub
Function RegName:Private Function RegName(ByVal strName As String) As Class1
'.....
'.....
'.....
End Function
两种情况:'第一种情况:
Dim s As Class1
Set s = New Class1
s.A
s.B
s.C
Call s.D(Form1)
'第二种情况:
RegName.A
RegName.B
RegName.C
RegName.D New Form1
'RegName.A
Dim o As Class1
Set o = RegName()
o.A 'RegName.B
Dim o As Class1
Set o = RegName()
o.B'RegName.C
Dim o As Class1
Set o = RegName()
o.C'RegName.D New Form1
Dim f As Form1
set f = New Form1
Dim o As Class1
Set o = RegName()
o.D f