面向对象的思考过程(原书第5版)
上QQ阅读APP看书,第一时间看更新

2.3.5 识别实现

明确了公共接口后,接下来需要识别实现。设计完了类,该类已经包括了所有需要操作的方法,接下来需要具体考虑如何保证该类正常工作。

从技术角度来讲任何非公共接口都可以认为是实现。这意味着用户不会看到具体的实现方法,包括方法签名(方法签名包括方法名和参数列表)和方法中的实际代码。

类可能有一些私有方法仅供内部使用。任何私有方法都可以认为是实现,用户绝不会看到它,从而也不能访问它。例如,一个类有changePassword()的方法,然而这个类可以有一个私有方法来对密码做加密处理。这个方法应该对用户是隐藏的,并且只能通过changePassword()方法调用它。

应该对用户完全隐藏实现细节。公共方法中的代码是实现的一部分,因为用户不能看到它(用户只能看到接口的调用结构,而看不到里面的代码)。

理论上来说任何对实现的修改都不应该影响用户通过接口与类的交互。当然假设是实现提供了用户期望的答案。

接口代表了用户如何看待对象,实现则是对象的具体细节。实现包含了代表对象状态的代码。