0

当我读到“您正在使用接口隐藏具体类”时,我感到困惑。因为当应用程序被另一个人使用时,他可以看到整个代码(除非我只公开 Web 服务......这是一个不同的方面,不要在这里混合)?

我同意接口和抽象类有助于很好地设计代码,但据我了解,仅此而已。我无法理解在现实世界中我们如何向他人隐藏东西或增加更多安全性等。

4

1 回答 1

3

你有一个误解,认为“隐藏”某事的原因是安全。在这种情况下,这根本不是“隐藏”的意思。接口“隐藏”类的实现细节,就像汽车引擎“隐藏”在引擎盖下一样。当然,如果您想了解汽车的内部运作,这并不会阻止您查看发动机,但重要的一点是

  • 您无需查看或了解发动机即可使用汽车,并且
  • 汽车制造商不必为了让汽车按预期工作而使发动机以特定方式工作

同样,通过隐藏一个类的内部工作,该类的用户只需要了解该类的用途(即它的接口),并且该类的开发人员可以自由地更改该类的内部细节而不会烦恼用户或破坏他们的代码。

于 2021-03-18T04:01:40.667 回答