asp class 如何理解(简短代码)?

2024-12-23 06:51:31
推荐回答(2个)
回答1:

你的理解这次是对的了!
而在于class的内部,其实一直使用的是MaxTotalBytes 这个变量!
-----------------------------------------------------

wapclass被设置定义起一相基本类了,而cache只是wapclass的一个属性,一个类可以有很多个属性,和方法的。
而i_cache只是在类中定义的一个变量,是只能在类的内部使有用的,外部不能访问,所有只有cache才是wapclass的属性,并且你的赋值的方法是错误的,根本没有给属性cache进行赋值,而只是给i_cache这个变量进行了赋值!

其实是你把class类的属性含义没有理解清楚。
所有class的属性,只是供外部程序来调用的。而在class内部是其实还是使用变量的,所以cache只是外部用来访问的一个属性,而相对于class内部cache则是作为一个方法来用的,以下简单说明下。

Public Property Let InceptFileSize(Byval vMsize)
MaxTotalBytes = vMsize
End Property

Public Property Get InceptFileSize
InceptFileType = MaxTotalBytes
End Property
上面的let是赋值的,但他是对一个变量赋值,也就是你class里面的i_cache变量,而get是提供属性的,其实他也是把那个变量的值提供出去的。也就是说使终都是在操作变量,而cache只是给外部提供的一个接口,而他的值就也是那个i_cache的值。不知道你有没有明白!!

回答2:

cache是属性,i_cache是私有成员变量。

cache属性的作用很明显,你可以在对属性赋值的时候同时调用其他方法。把i_cache声明为公有,在外部进行赋值就做不到这个。

比如,你可以在赋值前,验证新值是否符合要求。
public property let cache(ByVal iv)
if isNumeric(iv) then
i_cache = iv
else
i_cahce = 0
end if
end property

当i_cahce声明为公有的时候,你可以在外部访问它
Public i_cache

set uc=new wapclass
uc.i_cache = true
uc.kk