最佳答案
下面是封装和抽象的简要定义。
摘要:
Java 中的抽象过程用于隐藏某些细节和 只显示物体的基本特征。换句话说, 它处理对象(接口)的外部视图。我在不同的网站上看到的唯一好的例子是 接口。
封装:
它基本上是关于隐藏对象的状态 我们通过诸如 private、 public、 protected 等修饰符公开状态 只有在有需要时才采用公开方法。
我们通过像 private
这样的修饰符所实现的,public
也向外界隐藏了不必要的细节,这些细节只不过是一个抽象概念
因此,从上面的解释看来,封装是抽象的一部分,或者我们可以说它是抽象的一个子集。但是当我们只能处理抽象的时候,为什么还要发明封装术语呢?我相信他们之间应该有一些重大的区别,但是网上的大多数材料对他们的说法几乎是一样的。
虽然这个问题早些时候也在这个论坛上提出过,但是我怀着特殊的疑问再次发布了它。一些回复还说抽象是一个概念,封装是一种实现。但我不相信,如果这是真的,那么我认为这两个不同的概念是为了迷惑我们。
更新:- 5年后,我想出了自己的答案,这是基于本文和以下答案的要点