准确地说这是定义属性过程
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)
数据只能单向传递
在实际使用中,自动完成列表将显示两个属性出来
这有些类似网络传输的单工模式和全双工模式
标签:property,get