|
|
1
2
违反了责任原则。如果
|
|
|
2
2
这本书对如何安全正确地进行对象初始化也有很多要说的。可以说,您发布的代码有很大的问题。 |
|
|
3
1
|
|
|
4
1
你可以告诉他,这种编码方法违反了面向对象开发的三个基本概念之一,当然这三个概念就是封装。 事实上,用户可以直接修改对象的状态,这使得调试变得非常困难,而私有方法是访问内部数据的唯一方法。。。
但事实是,与过去相比,在最近几年中,OO系统中数据封装的应用已经放宽了。
这种趋势的一个直接结果是C最近采用了自动属性,这些属性被用来简化私有数据的直接暴露,如set/get属性。。。 |
|
|
5
1
它违反了 Principle of Least Astonishment 一些引用 http://portal.acm.org/citation.cfm?id=1176622 :
|