这是封装和抽象的简要定义。
抽象:
Java中的抽象过程用于隐藏某些细节,仅显示对象的基本功能。换句话说,它处理对象(接口)的外部视图。我在不同站点上看到的唯一好的示例是接口。
封装形式:
它基本上是关于借助诸如private,public,protected等修饰符隐藏对象的状态。我们仅在需要时才通过public方法公开状态。
我们使用修改器实现象private
,public
也从侧面走出世界,不过也有抽象概念隐藏不必要的细节
因此,从上面的解释看来,封装是抽象的一部分,或者我们可以说它是抽象的子集。但是为什么当我们只能用抽象来处理封装术语时呢?我相信应该有一些主要的区别将它们区分开,但是网上的大多数材料对两者都说得差不多。
尽管这个问题早些时候也曾在这个论坛上提出过,但是我再次带着特定的疑问再次发布它。一些答复还说抽象是一个概念,封装是实现。但是我不买这个-如果是真的,那么我可以认为提供了这两个不同的概念来使我们感到困惑。
更新:-五年后,我根据这篇文章及其以下答案给出了自己的答案,这就是要点
private
public
,因为它们仅提供信息/数据隐藏,而我们这样做是因为保护实例数据是一种好习惯。
An 'abstraction' (noun) is a concept that acts as a super-categorical noun for all subordinate concepts, and connects any related concepts as a group, field, or category.