属性设计考虑事项

在设计和实现属性的时候,需要考虑如下问题:
1.属性可以是可读可写的、只读的或只写的。可读可写属性可以通过客户代码来检索或者设置。只读属性只能被检索,只写属性只能被设置。只写属性极少使用。通常应用程序开发者使用只写属性来向硬件设备发送数据,以便发送到硬件设备中的数据以后不能被检索。
2.当一个属性完全由其他属性决定时,应该使用只读属性。列如,在Rectangle类中,length和width两个属性是可读可写的,但是Area属性应该是只读属性
3.读取一个属性的值不应该产生副作用。类实例检索属性值时,类实例中的数据不应该发生变化。例如,应用程序开发者不希望因为检索了Rectangle对象的Area属性,而使对象width属性发生了变化。
4.合理的设计属性,以便属性能独立地以任何次序被更改。如果属性之间互相依赖,那么使用方法来设置他们。例如,如果需要在设置person对象的firstname属性之前先设置其lastname属性,那么可使用setfirstandlast函数来代替这两个属性。
5.使用属性而不使用方法的好处就在于其语法,显而易见,在语法上,rectangle.Length=15要比rectangle.setlength(15)简洁的多。

转载于:https://www.cnblogs.com/figo-10/archive/2008/06/09/1216186.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值