可冰

冰,是沉睡着的水......

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  37 随笔 :: 5 文章 :: 94 评论 :: 0 Trackbacks
  在类的设计中,对成员变量的封装是一个比较烦人的问题.什么时候应该提供读写的接口,什么时候应该声明为public,这样的问题有时候改几次也都不是很满意的.

  将对变量的读写操作封装起来以接口的形式提供,是有了一定的接口一致性.如果以后要在读写变量的操作内加入其它的操作,那么原有的代码就可以不加任何修改,只改这样的接口就行了.也就是对外部封闭了细节,使编程简单一点.
但我也觉得不能用"一刀切"的方式将所有的成员变量都加以这样的封装,这样无疑会使代码增长(而且可能还有我所不知道的缺点).

总的来说,
  对于要对外部提供应用的变量,最好以接口的形式提供.这样可以有比较一致的接口.
  而如果只是内部使用的话,且只是用于保存变量的值的话,直接声明为public会好一些.而若在内部也是相对地为其它类提供服务的话,也还是要声明为接口要好一些.

这里所说的内部和外部,只是相对来说的,并不只是针对某个类或程序而言.具体来说要根据代码的聚合程序来看.

最主要的原则还是要对具体的情况还要加以区别对待,根据实际情况不同而施以不同的应用.

===========
这样的问题主要还是靠编码经验的,如果有经验的话,可能凭感觉就可以随时决定的.
对于这个问题我也只是有这一点的初步见解(我几乎没有什么实际的编码经验),也不知道合不合适,希望有牛人可以加以指导.
posted on 2005-09-18 18:19 可冰 阅读(808) 评论(0)  编辑 收藏 引用 所属分类: C++

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理