抽象与封装,不是书本定义,现实世界的例子

问题描述 投票:0回答:1

我到处搜索这个话题,抽象和封装有什么区别

,甚至是投票最多的堆栈溢出问题之一,但最后看起来很混乱 例如 - 这是我从互联网上找到的一个例子 现实世界的例子

1-->在汽车中,抽象是方向盘和踏板;您不需要知道引擎是如何工作的。

2-->汽车的发动机封装了其内部工作原理;您可以通过汽车的控制装置与其进行交互,而无需直接访问发动机。

第一个是抽象类的例子,第二个是封装的例子,我没明白有什么区别,两个看起来都一样

我不想要书本般的定义,我真的很困惑,两者之间的核心区别是什么,我可以想到哪些要点,以便两者对我来说都是不同的

oop abstract-class encapsulation abstraction object-oriented-analysis
1个回答
0
投票

抽象示例:带有方法

interface Storage
save
。事实上,我们在这里考虑的是所有可能的实现之间的共同点 - 接口。

封装示例

class JdbcStorage
与构造函数
JdbcStorage(Connection connection)
。事实上,我们被放入“胶囊”连接中(将连接隐藏在 JdbcStorage 类的对象内)。

© www.soinside.com 2019 - 2024. All rights reserved.