
“抽象就是从众多事物中抽取出共同的本质的特征”这是一个定义但是定义本身什么用都没有。与其说抽象是什么不如说一下如何抽象我们可以通过什么手段抽象“隐藏什么暴露什么重新组织什么”这就是的手段而抽象本身也是为了让我们能更好操控理解复杂系统不需要去思考抽象是什么只要思考它的功能什么手段能实现它即可。抽象的应用实例一个是编程语言一个是操作系统这二者的发展历程几乎就是 一个抽象的应用史先来讲一讲操作系统晶体管层→逻辑门层→数字电路层→微架构层→指令集层→OS层这是计算机系统的抽象层次这些层次都是依靠隐藏什么暴露什么如何重新组织构成的。编程语言最开始的计算机依靠开关的拨动0101机器语言直接去写这是费劲的人们将一些特定的0101组合在一起以英文助记符归纳他们的作用这就是汇编。在这个阶段就是一组抽象隐藏了0101的书写只把他们最终的效果暴露出来并重新组织成更容易懂的功能。汇编之后慢慢变出了C这依旧是一组抽象把各个汇编封装暴露一些功能再重新更人性化的组织它们这样C语言就诞生了python也是以此类推。看似没有说到封装但其实封装就是实现抽象的手段之一把一些动作装在一起这就是封装上述内容可以让你有送理解的