• 7037阅读
  • 0回复

C++编码标准之四: 类的设计 [复制链接]

上一主题 下一主题
离线XChinux
 

只看楼主 倒序阅读 楼主  发表于: 2005-07-30
类是一切面向对象设计的基础。一个好的类应该提供干净、清晰的接口,具备低耦合、高内聚的特点,并且很好地展现封装、继承、多态、模块化等特性
原则一:类成员应该是私有的(private)
    每个类不应让其它人插手其内部实现,所以类的成员不应该是public的;甚至连派生类也不应插手基类的内部,所以protected也应避免
    例外:属于接口,而不属于实现的某些常量成员可以不受此规则限制,也就是说可以是protected甚至是public的,因为不论类内类外都不会修改这些成员,除非强制/显式去掉只读属性,而这是要极力避免的。
原则二:保持对象状态休息的持续性。
    确保对象的状态休息(成员变量)在(对象内)整个生命争取都是有效的。
原则三:提高类内聚合度
    高内聚是指在进行类设计时要强调专注于一价件事或一个目标,并把它做好。
原则四:降低类间的耦合度(即类间相互依赖程度)
    因为类间的耦合度越高,独立性越差,移植、修改能力越差,且易出错,并且降低了类的模块化和封装性,因为每个类的实现都与其它类相关。
原则五:努力使类的接口少而完备
原则六:保持类的不同接口在实现原则上的一致性。
原则七:保持不同类的接口在实现原则上的一致性。
原则八:避免为每个类成员提供访问函数。
原则九:不要在类定义时提供成员函数体
    定义和实现要分开,使用者不关心实现,且在类定义中的函数体自动是inline方式,将来若要该函数成为非inline方式,比分开写要麻烦。
原则十:函数声明(而不是实现)时定义参数的缺省值
原则十一:恰当选择成员函数、全局函数和友元函数。
      虚函数必为成员函数,因为非成员函数不能为虚。
原则十二:防范、杜绝潜在的二义性
原则十三:显式禁止编译器自动生存不需要 函数 。
原则十四:当遇到错误。对象应能应对有度
原则十五:用嵌套类的方法减少匿名命名空间类的数量
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个