设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 822|回复: 9
打印 上一主题 下一主题

ACCESS FAQ问答:属性过程的问题

[复制链接]
跳转到指定楼层
1#
发表于 2002-4-25 23:49:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
类的属性可以使用属性过程Property Let和Property Get,如果您会使用Public变量,一定会说:在类模块中使用一个Public变量来替代Property Let和Property Get过程不是一样的吗?比如:
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变量,对有限制的属性用属性过程。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2002-4-26 01:19:00 | 只看该作者
不错,分析得很好
我记得曾经看过另一篇文章,不过是讲COM的,也是谈这两者区别,好象还有些不同的地方
我给忘啦
3#
 楼主| 发表于 2002-4-26 01:39:00 | 只看该作者
说不定我就是从那篇文章抄来的!:)

点击这里给我发消息

4#
发表于 2002-4-26 01:58:00 | 只看该作者
类是非常有用的东西,谁能讲讲接口?
5#
 楼主| 发表于 2002-4-26 02:01:00 | 只看该作者
以后吧!

点击这里给我发消息

6#
发表于 2002-4-26 02:02:00 | 只看该作者
等着你的哟!
7#
 楼主| 发表于 2002-4-26 02:12:00 | 只看该作者
可是你是指什么接口?
我想下面这些内容不是你想要的吧! :)

通常Access的窗口接口可以分成五个大的部分(如图一):“标题栏”、“菜单栏”、“工具栏”、“状态区”和“数据库窗口”。其中“标题栏”在屏幕的最上方,“菜单栏”在“标题栏”的下面,“菜单栏”的下面是“工具栏”,“状态区”在屏幕的最下方,而夹在“工具栏”和“状态区”之间的空间则是用来显示数据库窗口的。

点击这里给我发消息

8#
发表于 2002-4-26 02:17:00 | 只看该作者
接口是COM接口,在VC用的多,现在VB也开始使用,听说比较热了,但主要是可操作性的问题,如何定义好接口,以避免垃圾接口及避免需更改接口属性而导致修改前台程序。思想是好的,不过, 用的不好,反而会累

点击这里给我发消息

9#
发表于 2002-4-26 02:32:00 | 只看该作者
但在做三层时是必用的东东,类中经常要用的东东,也是tony讲的COM

点击这里给我发消息

10#
发表于 2002-4-26 02:45:00 | 只看该作者

ACCESS FAQ问答:属性过程的问题

ACCESS早就支持类,但在新版中对COM支持不知如何
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-28 04:03 , Processed in 0.088378 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表