问下大家在C#中为什么要有GET 和 SET属性, 难道不能把字段设置为PUBLIC ,让其他的类凋吗

 我来答
老猿小郭
2009-03-22 · TA获得超过2763个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:571万
展开全部
类成员如果是公共访问类型,那任何人可以对这个成员做随意的修改,这对于程序的安全和稳定运行不利。
你只要知道这是出于安全考虑就行了,的确在简单程序中即使不用到属性对整个程序的逻辑没有影响,但是在一些大型程序中这样就是很不明智的。
真的要细说要占去太多篇幅,有些东西只能说要慢慢领会,这个问题涉及到面向对象的思想,类的封装,程序的安全性等,不管是哪一点都是足以大书特书的,你觉得能在短短一篇文字中解读一个思想的精髓吗,囫囵吞枣是不利于对知识的掌握,循序渐进之后自然会明白其中的深意。
leo_fei5210
2009-03-22 · TA获得超过306个赞
知道小有建树答主
回答量:455
采纳率:0%
帮助的人:233万
展开全部
可以啊,但是用get,set封装比较安全,可以设置只读或者只写,也可以不让别人修改你的数据,比较重要的可以约束数据,比如说年龄(0-118),你可以用属性限制在这个范围内,但是公共字段不可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sw324073442
2009-03-22 · 超过53用户采纳过TA的回答
知道答主
回答量:227
采纳率:0%
帮助的人:169万
展开全部
这样方便啊,你可以自己设置自己的Object属性啊,GET是可以访问,SET是可以设置。这样不是很好用嘛
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友37ffe09e1
2009-03-22 · TA获得超过682个赞
知道小有建树答主
回答量:1119
采纳率:0%
帮助的人:704万
展开全部
今天我才看到属性这课~谈点我的看法:
如果将数据公开,那么无法检查和控制对数据的访问,并且会破坏封装性
属性在外观,行为,感觉上类似字段,但不是真正的字段。
使用属性可以维持封装性,有可以使用字段风格的语法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
定复2d
2009-03-22 · TA获得超过3196个赞
知道大有可为答主
回答量:2052
采纳率:0%
帮助的人:1913万
展开全部
其实现在是推荐使用属性的
为什么?
我就说一个很简单的例子,我们看看到底用属性好还是直接使用公有字段好
比如
public int i;这样就是可读可写

private int i;
public int I 这样字段就由属性控制为只读的了,而且在类内部一样可以改变该字段的值(不使用类似const的修饰)
{
get{return i;}
}

还有类似的
private int i;
public int I
{
get{return i;}
set{if(value>100) this.i=100;
else ???自己写}
}
诸如此类
你看看属性到底好不好呢?
这也仅仅是两个很简单的例子
你思考下吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式