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

1.8.2 实现

只有公共属性和方法被认为是接口。用户只通过类接口与对象交互时,不应该看到该对象内部实现的任何部分。任何被定义为私有的东西对用户都是不可访问的,这些私有资源属于该类的内部实现。

在之前的例子中,只隐藏了Employee类的实例的属性。很多情况下,也应该隐藏某些方法,不作为接口的一部分。上个章节的求平方值的例子中,用户不应该关心平方值是如何被计算出来的,只要答案正确即可。我们可以修改实现,但不应该影响用户的代码。例如,提供该计算器的公司可以改变算法(很可能因为该算法更高效)而不会影响结果。