C# 属性 和 点运算符
答案:3 悬赏:0
解决时间 2021-01-03 13:45
- 提问者网友:西路不相离
- 2021-01-03 09:03
为什么要有属性这个东西,c++中不是可以直接用"对象.类中变量=xx;"来修改类中变量的值。
最佳答案
- 二级知识专家网友:茫然不知崩溃
- 2021-01-03 10:13
很简单 =-= 属性的一大好处是可以限制属性的值,比方说一个属性的值如果希望范围是在 50 ~ 100 之间,你可以这样写:
private Int32 _value;
public Int32 Value
{
get { return this._value; }
set
{
if(value > 50 && value < 100)
this._value = value;
}
}
另外就是对于引用类型的属性来说,可以避免属性值为 null:
private Object _object;
public Object Object
{
get { return this._object; }
set
{
if(value != null)
this._object = value;
}
}
而之所以用属性而不是类方法(例如 GetValue 和 SetValue)去获取和设置变量值的原因是因为这样极度不自然,试想一下你要获取大量属性时一堆蛋疼的 Get 调用看起来会有多长多臭吧 =-=
private Int32 _value;
public Int32 Value
{
get { return this._value; }
set
{
if(value > 50 && value < 100)
this._value = value;
}
}
另外就是对于引用类型的属性来说,可以避免属性值为 null:
private Object _object;
public Object Object
{
get { return this._object; }
set
{
if(value != null)
this._object = value;
}
}
而之所以用属性而不是类方法(例如 GetValue 和 SetValue)去获取和设置变量值的原因是因为这样极度不自然,试想一下你要获取大量属性时一堆蛋疼的 Get 调用看起来会有多长多臭吧 =-=
全部回答
- 1楼网友:一身浪痞味
- 2021-01-03 11:27
C#的属性你可以理解为为类中的字段或者方法进行访问的包装,当然,你也可以在加上自己的逻辑,
- 2楼网友:深街酒徒
- 2021-01-03 10:20
属性是面向对象中的术语,面向对象中,对象可以包含属性、方法。用属性的方法来描述现实世界的事物,更容易被程序员接受。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯