用构造函数对象进行初始化,如果只有一个、或者两个属性。可以用重再构造函数来实现。
那么要是有10个属性。它的初始化可能可不是1、2中而是几百种,总不能写几百个重载吧?
用属性的目的是为了将一个对象的敏感数据对外隐藏起来,而只对外暴露出一个属性,这样外界就只能通过属于这个对象的属性去访问对象的私有成员。这也体现了OOP思想的封转特性。
另外,构造函数只能set,而属性除了set外还能get
一个类中可能有很多属性,统统通过构造函数来初始化有点繁琐,而且某些操作也可能不需要设置所有的属性。
get和set访问器中还可以添加逻辑,这比用公共字段要灵活的多。
属性(Property)主要目的是供外部代码访问对象
1、可以实现只读属性
2、可以只创建一个对象然后改变通过set来改变对象的状态而无需创建新的对象,实现对象复用
补充
属性的优点: