property get与property let重名的话有什么作用?

来源:百度知道 编辑:UC知道 时间:2024/07/04 10:43:09
property get与property let,都定义了同一个名称的过程,这两个过程之间有什么关系吗?
首先谢谢excel712的详细回复。
不过我更想知道的是,如果我的LET和GET同名,那么用起来就是这样:
a=TextBox.Text(读取) TextBox.Text="abc"(赋值)
而如果我的LET和GET不同名,那么用起来就是这样:
a=TextBox.Text1(读取)TextBox.Text2="abc"(赋值)

请问,同名的情况与不同名的情况有什么区别

re:---------------------
同名表示一个是写入属性,一个是读取属性
如果不同名,那就是两个不同的属性了。

我感觉同名不同名从代码执行上来说并没有什么区别,即便是同名的let和get,它们仍然一个是赋值,一个是被附值,它们的用法永远不相同。如果let和get各自定义毫无关联的代码,那么也是可以的。
只不过,我们通常是让同名的let和get的代码之间有一些联系,人为的把这两者联系了起来。
假如我们定下个规矩:let属性相对应的get属性的名称必须加上"abc",就像let aaa,那get aaaabc,那样对我们的使用也没有什么影响。
不知道我这样理解对不对?

-----------------------------------------
经过自己编写代码实验,好象我的猜想是对的,所谓get和let同名,也不过是人为去追求去强调这么一种视觉上的效果而已

准确地说这是定义属性过程
property get是获取属性值,
property let是给属性赋值
以TextBox控件的Text属性为例,
如果只有property get过程,将只能获取Text属性的内容,不能改变Text属性的内容,这样就表示一个只读属性。就是只能类似于 a=TextBox.Text(读取)的用法,而不能有TextBox.Text="abc"(赋值)的用法。

如果只有property let过程,将只能给Text属性赋值,不能读取Text属性的内容,这样表示一个只写属性。就是只能类似于 TextBox.Text="abc"的用法,而不能有a=TextBox.Text的用法。

一般get和let都是成对出现的,表现一个可读写属性,也有单独用get 的,但没见过单独用let的。

---------------------
同名表示一个是写入属性,一个是读取属性
如果不同名,那就是两个不同的属性了。

如果某个属性定义了get方法,表示它能给别的变量赋值,是只度的属性
定义了let方法,表示别的变量能给这个属性赋值,是可写属性

如果一个相同名字的属性定义了get和let方法,那么它就是可读又可写的属性,它能给别的变量赋值,别的变量也能给它赋值,就和text属性一样了

同名意味你为一个类定义了一个属性,这个属性可以读写、数据可以双向传递的
不同名代表你为这个类定义了两个属性
一个是只读的(get)
一个是可写的(let)
数据只能单向传递
在实际使用中,自动完成列表将显示两个属性出来

这有些类似网络传输的单工模式和全双工模式