1.3.5 最小且完整的接口
类的接口由可以公开访问的方法和数据组成。正如您看到的那样,通常类的接口只包含方法,因为可以公开访问的数据字段通常会引发问题。类的接口描述了程序员与类交互的唯一途径。因此,接口是对象之间互相协作的地方。类通过接口与其他类耦合。设计良好的类接口是一项重要的技能。
注释:模块的接口是与该模块交互的唯一途径
每个类都应该易于理解。因此,当设计类的时候,应该控制类方法的数量。然而,类应该向程序员提供方便地完成任务的能力。这些要求互相矛盾。
在给定类的责任的情况下,完整的接口允许程序员完成任何合理的任务。最小化的接口包含并且只包含对于类的任务非常重要的方法。对于具有最小化接口的类,程序员可以更方便地学习如何与之交互,因为只需要理解少量方法。此外,具有最小化接口的类易于维护。如果类具有很大的接口,对类的修改将影响类的很多方法。
应该根据接口的完整程度以及最小化程度评估类。接口的完整非常重要,最小化接口相对而言重要性稍差。有时候由于有些并非必需的方法非常有用,因此不应该将其省略。
函数或者方法的接口更精确的叫法应该是签名。签名包含函数名称,参数的数量、顺序和类型,以及一些限定符(例如const)。签名看上去非常类似于函数原型,只是没有包含返回类型。当调用函数或者方法的时候,使用接口向其传递正确的参数数量、顺序以及类型。