首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我对抽象、封装及其关系的理解是否正确?

我对抽象、封装及其关系的理解是否正确?
EN

Stack Overflow用户
提问于 2016-08-30 07:36:18
回答 1查看 290关注 0票数 0

现在我知道有大量的文章和问题来处理这个问题,我已经经历了其中的大部分,我需要知道我的理解是否准确。

抽象:处理复杂性的一种方法。我们基本上确定了最基本的基本要素,而忽略了非必要的细节。一种简化。

封装:将事物封装到一个单独的黑匣子中的过程。黑匣子提供不同的服务,但一切都是一个单一的单位。

关系:抽象给了我们接口(本质)和实现(非本质)之间的清晰区分。现在,当这些想法被实现时,非必需品进入黑匣子,而接口则为我们提供服务。换句话说,抽象概念的实现是封装性的。

编程术语中的接口和抽象类用于定义抽象出的概念。扩展或实现这些的具体类是我们的黑匣子(封装)。访问器、变异器和修饰符用于改进黑匣子。因此,基本上,封装的好坏取决于我们的抽象有多好。

EN

回答 1

Stack Overflow用户

发布于 2016-08-30 08:01:14

你对这些概念的理解对我来说似乎很好。我要补充的唯一一点是,封装本身并不一定与抽象相关。在OOP中,封装是指对象的内部状态,即使它们不扩展抽象超类或实现接口。

用具体的术语来分解这个概念,我想说是隐藏外部提供的某些服务的实现的过程(因此以后可以修改或更改,而不需要更改封装对象之外的任何内容),同时向与其交互的其他对象/用户提供相同的“视图”,即相同的可用接口(对象的公开方法)。

也就是说,您可以说封装是抽象的一种需求:如果您不“封装”您想要抽象的内容,这意味着您提供的具体实现对于所有扩展/实现它的对象来说都是相同的,从而失去了任何抽象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39221491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档