怎样设计良好的类接口
设计良好的类接口的关键是充分理解类的 ADT 和抽象层次,接口只是体现 ADT 特征的操作,而不是体现与 ADT 相关的操作。
1、类接口要体现一致的抽象层次;(设计体现 ADT 特征的接口)
2、类接口提供成对的服务;(仔细审视某个接口是否需要提供相应的、相等的或者相反的操作)
3、把不相关的信息转移到其他的类中;(一半的操作使用类的部分数据,另一半的操作使用其余的数据的时候)
4、尽可能让接口可编程,而不是表达语义;(某些操作有先后顺序,或者必须初始化数据后调用,可以使用断言让接口可编程)
5、谨防在修改的时候破环接口的抽象;
6、不要添加与接口抽象不一致的公用成员;
7、同时考虑抽象性和内聚性;
类的封装规则:
1、尽可能的限制类和成员的可访问性;
2、不要公开暴露类的成员数据;
3、避免把私用的实现细节放在类的接口中;
4、不要对类的使用者作出任何假设;
5、避免使用友元类;
6、不要把使用的公共程序的子程序纳入公开接口中;
7、让阅读代码比编写代码更方便;
8、格外警惕从语义上破环封装;
9、留意过于紧密的耦合关系;