首页 新闻 会员 周边 捐助

set.get访问器与构造函数。

0
[已解决问题] 解决于 2010-05-12 18:41

    C#中既然有构造函数对对象进行初始化,那么为什么还要有get,set访问器来设置和取得属性值。请高手指点。

hender204的主页 hender204 | 菜鸟二级 | 园豆:400
提问于:2010-05-11 21:31
< >
分享
最佳答案
0

用构造函数对象进行初始化,如果只有一个、或者两个属性。可以用重再构造函数来实现。

那么要是有10个属性。它的初始化可能可不是1、2中而是几百种,总不能写几百个重载吧?

邢少 | 专家六级 |园豆:10926 | 2010-05-12 10:23
其他回答(4)
0

用属性的目的是为了将一个对象的敏感数据对外隐藏起来,而只对外暴露出一个属性,这样外界就只能通过属于这个对象的属性去访问对象的私有成员。这也体现了OOP思想的封转特性。

另外,构造函数只能set,而属性除了set外还能get

JeffLiang | 园豆:43 (初学一级) | 2010-05-11 22:54
0

一个类中可能有很多属性,统统通过构造函数来初始化有点繁琐,而且某些操作也可能不需要设置所有的属性。

get和set访问器中还可以添加逻辑,这比用公共字段要灵活的多。

麒麟.NET | 园豆:3614 (老鸟四级) | 2010-05-11 23:05
0

属性(Property)主要目的是供外部代码访问对象

1、可以实现只读属性

2、可以只创建一个对象然后改变通过set来改变对象的状态而无需创建新的对象,实现对象复用

Inside Zhou | 园豆:212 (菜鸟二级) | 2010-05-12 00:24
0

补充

属性的优点:

  1. 可以得到更好的数据绑定支持;
  2. 可以更容易地在将来对其访问方法的实现做任何改变;
  3. 可以 更容易的在属性上进行业务逻辑的限制;
Astar | 园豆:40805 (高人七级) | 2010-05-12 09:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册