我又来问基础问题了,public Property let,get和直接用public什么区别?

CainLai 2010-04-30 12:43:38
看别人写的类的例子,里面经常出现类似语句:
Public Property Get Version
Version="xxxxxx"
End Property

那这样跟直接:
public version="xxxxx"
有什么区别?

还有的用:
Public Property Let aaa(str)
a=str
End Property
Public Property Get aa
aa=a
End Property

这种情况a的值是手动输入进来的,如果不是手动输入而是固定值的话,那根直接:
public aa=a 又有什么区别啊?

小弟新人求解
...全文
669 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
parv2 2012-12-05
  • 打赏
  • 举报
回复
我也不明白这个问题呢。,, 楼上的高手们都太深奥了。不是复制 百科 就是复制 代码的。。 就没有人会用中国字 解释一下么。。
CainLai 2010-05-01
  • 打赏
  • 举报
回复
感谢各位的指导,昨天我以作用域来搜索,果然在CSDN找到了本书,里面找到了答案。。。我决定再去买点资料补充下。。。谢谢
后浪 2010-04-30
  • 打赏
  • 举报
回复
一般写在类里面


Class CUser
private sUserName'私有字段,只有本类可以用,外面不能访问
'不能访问只能通过字段属性来访问字段,如下:
Public Property Get UserName 用属性,可以对传进来的值进行做些过滤操作
UserName = sUserName
End Property
Public Property Let UserName(Byval Value)
sUserName = Value
End Property

End Class
KK3K2005 2010-04-30
  • 打赏
  • 举报
回复
书~~
gzpepco 2010-04-30
  • 打赏
  • 举报
回复
get是只读属性
let是可写入
CainLai 2010-04-30
  • 打赏
  • 举报
回复
一提到作用域的区别,我感觉好像还好理解点。。。。
CainLai 2010-04-30
  • 打赏
  • 举报
回复
好的,我就是基本上没什么基础,想到什么问什么,没有系统的知识路径,看来还需要多补补
猜我是几娃 2010-04-30
  • 打赏
  • 举报
回复
应该说主要就是一个作用域的区别,多看看面向对象方面的介绍应该会理解得更深些
CainLai 2010-04-30
  • 打赏
  • 举报
回复
3L的代码看得倒懂不懂,SET LET GET的作用在这段代码里面比较明显,但是跟直接用public声明的区别我看起来还是多了个手动输入的区别啊?
lixianliang200923 2010-04-30
  • 打赏
  • 举报
回复
这个我还真不懂,也得学习学习啊!
Dogfish 2010-04-30
  • 打赏
  • 举报
回复
看看这个例子,可能有所理解
Class PencilClass
Private recentPencil, recentColor
Property Get Pencil()
Set Pencil = recentPencil
End Property

Property Set Pencil(x)
Set recentPencil = x
End Property

Property Get Pencilcolor()
Select Case recentColor
Case 1: Pencilcolor = "Orange"
Case 2: Pencilcolor = "Green"
Case Else: Pencilcolor = "yellow"
End Select
End Property

Property Let Pencilcolor(x)
If x = "Orange" Then
recentColor = 1
Else
If x = "Green" Then
recentColor = 2
Else
recentColor = 0
End If
End If
End Property
End Class
CainLai 2010-04-30
  • 打赏
  • 举报
回复
其实LS这部分内容我在网上搜索类的教程的时候看到过很多次了,就是还是不懂最后句Public 变量将成为类的属性,同使用 Property Get、Property Let 和 Property Set 显式声明的属性相同的具体意思,真的是完全相同毫无区别么?
猜我是几娃 2010-04-30
  • 打赏
  • 举报
回复
在 Class 块中,成员通过相应的声明语句被声明为 Private(私有成员,只能在类内部调用) 或 Public(公有成员,能在类内外部调用)。被声明为 Private 的将只在 Class 块内是可见的。被声明为 Public 不仅在 Class 块的内部是可见的,对 Class 块之外的代码也是可见的。没有使用 Private 或 Public 明确声明的被默认为 Public。在类的块内部被声明为 Public 的过程(Sub 或 Function)将成为类的方法。Public 变量将成为类的属性,同使用 Property Get、Property Let 和 Property Set 显式声明的属性相同。

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧