Dom*_*mra 12 abstraction programming-languages
抽象是一个似乎难以解释的概念,而不回复使用编程术语.我已经考虑了很多,但我无法得出满意的答案.有没有人有任何非常一般但非常相关的解释?
隐喻,similes等都是受欢迎的.
Ste*_*hen 21
一辆车.
您通过抽象与汽车互动 - 油门踏板,方向盘,用于隐藏车辆的复杂性.
您可以使用油门踏板的抽取来控制发动机转速,您无需手动将气体注入发动机并控制活塞.
方向盘是另一种抽象.你转动方向盘,它同时转动两个前轮,大大简化了你作为驾驶员的任务.您可以在保留界面的同时用另一个替换基本实现(例如,较新的汽车具有动力转向).
自动变速箱是另一个好例子.
大多数人花了一整天时间从复杂的事物中抽象出相关的细节,所以我认为找到一个例子并不是非常困难.
如果我告诉你我会给你10秒钟画一些东西,那么当我说"开始画一个房子"时,你不可能想出一些与我的绘画有所不同的东西:
/\
/ \
| |
--
Run Code Online (Sandbox Code Playgroud)
因为你的大脑抽象了关于你房子最相关的细节:屋顶,墙壁 - 如果你有时间 - 门,窗户.
我们从一切中抽象细节只是因为它使理解更容易.我们没有了解椅子如何构造的每一个细节 - 我们只是去宜家购买一个看起来不错的椅子.有很多很好的例子.