Public Property Let UserName(ByVal vData As String) mvarUserName = vData End Property Public Property Get UserName() As String UserName = mvarUserName End Property 可以用: Public UserName As String 来替代,在调用类的实例时,同样可以用 MyUser.UserName = Text2 或者 Text2=MyUser.UserName 这样的语句。 这样想是对的,对于这个UserName属性,因为它是可读可写的属性,而且对它没有别的操作,所以用一个Public变量完全可以替代它。但是我们想一想,如果这个属性是一个只读属性,或者只写属性,会怎样呢? 因为一个Public变量是可写可读的,所以用它不能解决这个问题。而用Property Let和Property Get过程,却可以解决: 只读属性(删掉Property Get语句)只用: Public Property Let UserName(ByVal vData As String) mvarUserName = vData End Property 只写属性(删掉Property Let语句)只用: Public Property Let UserName(ByVal vData As String) mvarUserName = vData End Property 我们再考虑一种情况:如果我们的类要检查用户输入的内容是否合法:比如UserName不能为空,用Public变量就不可能解决或者说不太好解决。用Property Let和Property Get过程却可以: Public Property Let UserName(ByVal vData As String) If vData=”” Then Msgbox “用户名为空!” Else mvarUserName = vData End If End Property 还有一种情况是只能写一次的属性。 所以,什么时候用Public变量,什么时候用属性过程,是根据您的实际情况来定的,对无限制的属性,可用Public变量,对有限制的属性用属性过程。 |
|站长邮箱|小黑屋|手机版|Office中国/Access中国
( 粤ICP备10043721号-1 )
GMT+8, 2025-4-2 12:12 , Processed in 0.077183 second(s), 24 queries .
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.