永发信息网

VB Property Get/Let怎麼用

答案:1  悬赏:80  手机版
解决时间 2021-04-01 18:14
  • 提问者网友:回忆在搜索
  • 2021-04-01 04:11
VB Property Get/Let怎麼用
最佳答案
  • 五星知识达人网友:神鬼未生
  • 2021-04-01 05:16
这就是面向对象里面的属性的封装了,虽然通常我们认为VB是伪面向对象,但是封装这个概念还是有的get是得到值   let是给属性赋值
Private re_Text As String

Public Property Let Text(ByVal NewValue As String)
    re_Text = NewValue
End Property

Public Property Get Text() As String    
    Text = re_Text
End Propertyre_Text这个属性是私有的,外界无法访问,代码给出外界访问属性Text 分别具有Get和Let
外界通过Text的Get可以读取到re_Text的值    同样通过Text的Let可以给re_Text赋值,如果只有Get   说明re_Text
属性为只读,相反只有Let为只写不可读 外界用法 a.Text="abc"  执行完这句  a的私有成员re_Text的值已经是“abc”了,如果调试代码,你会发现这个过程中代码走进了Let里面(扩展:往往编程者会在Let代码段里做点其他同步的事,不如把sexid的let成1,那么同时sexname赋值成“男”实现性别编码和性别名称这两个属性时刻保持一致),同样
string b=a.Text   执行这个代码会走到Get代码段里

追问有点太深奥了,这段代码初衷的目的是甚麼呢?可以举个生活化的应用例子吗?
而re_Text 跟Text 各自有甚麼意义呢?

>「Get 得到值」 ,那麼在Property Get 里面怎麼叫得到值呢?追答不好意思,才看到你的追问

这是面向对象思想里的封装,比如你写一个动态库(fx.dll) 里面的一个类cls 有个属性x 你希望外界引用你动态库的时候可以取到x的值 却不能改变x的值,如果你给x的访问域为public 那么引用者不但可以读,还可以写,如果你给private就不能读也不能写,那么你就需要对private x 进行封装
private x as string

Public Property Get x1() As String
x1= x
End Property
这样外界可以通过访问fx.cls.x1得到x的值 却没有办法更改x
还需要知道更多直接q我123360495
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯