VB中Property语句详细说明
求教,因为之前从来未接触属性这一概念我想知道Property语句的格式是否是固定的:privateproperty名字()as数据类型getreturn返回某个值endg...
求教,因为之前从来未接触属性这一概念
我想知道Property语句的格式是否是固定的:
private property 名字() as 数据类型
get
return 返回某个值
end get
set(参数) ‘请问这里是不是接收get块中返回的值?
语句……
end set
end property
问题1:请问proterty语句的格式固定就是这样的,必须有get和set两个语句块
问题2:请问get块中返回的值是不是返回给set块中的参数来接收
问题3:这样做感觉是大废周章,我用一个函数就可以轻松搞定,为什么还需要Property?
问题4:具了解这属性是类的成员属性,类我是知道一些的,具我所知的是类也有成员函数,那么这个属性与函数到底有什么区别?
如果有详细的官方资料提供那是最好了,望知道的大大不吝赐教。 展开
我想知道Property语句的格式是否是固定的:
private property 名字() as 数据类型
get
return 返回某个值
end get
set(参数) ‘请问这里是不是接收get块中返回的值?
语句……
end set
end property
问题1:请问proterty语句的格式固定就是这样的,必须有get和set两个语句块
问题2:请问get块中返回的值是不是返回给set块中的参数来接收
问题3:这样做感觉是大废周章,我用一个函数就可以轻松搞定,为什么还需要Property?
问题4:具了解这属性是类的成员属性,类我是知道一些的,具我所知的是类也有成员函数,那么这个属性与函数到底有什么区别?
如果有详细的官方资料提供那是最好了,望知道的大大不吝赐教。 展开
展开全部
1、如果只有get,那么这个属性就是只读的(就是说只能读,无法给它赋值);
如果只有set,那么这个属性就是只写的(只能赋值,无法读取,这种情况比较少见);
有get也有set,则该属性可读可写。
2、不是的,get是获取属性的值,而set是给属性赋值。
3、函数只能读取值,但你没法给函数赋值。
4、区别见第3点。
其实给类设置属性,就使类具备了类似控件的一些特性,比如我们可以从Label1.Caption获取Label1的文字内容,也可以通过给Label1.Caption赋值来改变Label1的文字内容;同样,如果给类abc设置一个可读可写的属性x,那么我们可以通过abc.x来获取这个属性的值,也可以通过给abc.x直接赋值来改变这个属性的值。
如果只有set,那么这个属性就是只写的(只能赋值,无法读取,这种情况比较少见);
有get也有set,则该属性可读可写。
2、不是的,get是获取属性的值,而set是给属性赋值。
3、函数只能读取值,但你没法给函数赋值。
4、区别见第3点。
其实给类设置属性,就使类具备了类似控件的一些特性,比如我们可以从Label1.Caption获取Label1的文字内容,也可以通过给Label1.Caption赋值来改变Label1的文字内容;同样,如果给类abc设置一个可读可写的属性x,那么我们可以通过abc.x来获取这个属性的值,也可以通过给abc.x直接赋值来改变这个属性的值。
展开全部
这个属性的用法,对于很多初学者来说,经常感到困惑. 其实 你可以把它理解成是一个事件,或者理解成是一个 有效性检查.
举一个例子. 你要设置一个数值--年龄,但是 你要确定 这个数值是不是 有效 1-150岁,如果它是负数或超过150,基本就是无效的年龄. 这时 使用属性 你就可以很好的控制.
再举一个比较高级一点的用法, 替代事件. 在 某一个值发生变化时,你要进行一个什么操作,这时你用属性就非常的方便.
如果你用函数 当然也可以,但是 会出现一个问题,你每次都需要调用函数,非常麻烦.
类似的private 变量,和public 变量, 你可以直接使用public变量,在外面修改值,有效性需要更多的函数去维护.
举一个例子. 你要设置一个数值--年龄,但是 你要确定 这个数值是不是 有效 1-150岁,如果它是负数或超过150,基本就是无效的年龄. 这时 使用属性 你就可以很好的控制.
再举一个比较高级一点的用法, 替代事件. 在 某一个值发生变化时,你要进行一个什么操作,这时你用属性就非常的方便.
如果你用函数 当然也可以,但是 会出现一个问题,你每次都需要调用函数,非常麻烦.
类似的private 变量,和public 变量, 你可以直接使用public变量,在外面修改值,有效性需要更多的函数去维护.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是类的属性这的设置与获取。要不我给你个实例。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
格式是固定的,但是并不是一定需要两个。对于属性有两种操作,获取(get)以及设置(set),如果只有GET,这个属性是只读的,反之只有SET,则是只写的(这个不常见)。
这点VB确实有点啰嗦,但相对于直接赋值,属性过程增加了检查的功能,即你可以增加代码检查该值的合法性。
函数(或者叫类的方法)也可以完成相同的功能,看你自己的习惯。
可以参考百度文库,或者MSDN
这点VB确实有点啰嗦,但相对于直接赋值,属性过程增加了检查的功能,即你可以增加代码检查该值的合法性。
函数(或者叫类的方法)也可以完成相同的功能,看你自己的习惯。
可以参考百度文库,或者MSDN
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询