VB Property Get/Let怎麼用

如题,我看了专门的编程书和网上教程还是不懂呢,所以:

请说明 VB Property Get/Property Let 的意思,参考书说一个「返回」另一个是「读取」,不明白这两个词。还有就是怎样去记住哪个是哪个?我经常二选一都搞浑了啦~

请用一个生活实例,配以一段代码,说明最基本的Property Get 和Property Let 怎麼使用。

感激不尽~

这就是面向对象里面的属性的封装了,虽然通常我们认为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 Property

re_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

温馨提示:答案为网友推荐,仅供参考
相似回答