gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 09:33:15 25 4
gpt4 key购买 nike

现在我知道有大量的文章和问题涉及这个问题,并且在阅读了其中的大部分内容后,我需要知道我的理解是否准确。

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

封装:将事物包装到一个黑盒子中的过程。黑匣子提供不同的服务,但一切都被束缚为一个单元。

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

用编程术语来说:接口(interface)和抽象类用于定义抽象的概念。扩展或实现这些的具体类是我们的黑盒(封装)。访问器、修改器和修饰符用于改进黑匣子。所以基本上,我们的封装有多好取决于我们的抽象有多好。

最佳答案

嗯,你对这些概念的理解对我来说似乎很清楚。我唯一要补充的是,封装“本身”并不一定与抽象相关。在 OOP 中,封装是指对象的内部状态,即使它们没有扩展抽象父类(super class)或实现接口(interface)。

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

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

关于java - 我对抽象、封装及其关系的理解是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39221491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com