标题说明了一切,我有点困惑,因为我被问到一个问题,即OOP方面的信息处理是抽象还是封装? 我选择了抽象,但我仍然感到困惑,因为在封装中我们也隐藏了字段,在抽象中我们隐藏了细节。 在这方面有任何帮助
答案 0 :(得分:1)
如果您将封装视为用于创建抽象的工具之一,那么它可能会有所帮助。有关封装的信息,请参阅维基百科条目http://en.wikipedia.org/wiki/Encapsulation_(object-oriented_programming)
答案 1 :(得分:1)
Abstraction
通常隐藏信息,而Encapsulation
将可更改数据与未更改数据分开。通过这种方式,Encapsulation
有助于实现Open Closed Principle
。
答案 2 :(得分:1)
这是一个很好的answer,我认为它可以解决混乱
封装有两面;数据 抽象和信息隐藏。 数据抽象是从中看到的类型 外。信息隐藏是一种 从内部看到的类型。
- 抽象侧重于对象的外部视图(即界面)
- 封装(信息隐藏)可防止客户端看到它 内部视图,行为的地方 抽象实施
答案 3 :(得分:0)
封装=隐藏复杂性/信息
Abstraction =一种(某种程度上)定义的处理复杂性的方法,使用封装