封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。
抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象
封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。
抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象
不用看那么多奇怪的定义
封装就是字面意思
封起来,装起来,像装罐头一样
罐头就是一种面向对象,你不用知道它具体是如何实现的,是怎么采摘,怎么加工,怎么密封的,你只需要知道它的功能,也就是它能提供给你什么
那么把一段代码打包装进一个函数里,也是封装,你只需要知道执行函数能得到什么结果,而无需知道具体实现过程
把一堆属性封装进一个类里也是一样的
-=-=-=
与面向对象相对应的,是面向过程
如果面向对象是水果罐头,面向过程就是采摘园,你就是需要亲手去看水果到底长在哪里,然后你亲手把它摘下来
面向对象和面向过程各有利弊
面向过程通常效率会比较高,过程可控
而面向对象适合大型工程
对于一个有一万个功能的应用来说,每个过程都用代码写死,而不知道去调用现成的类库
那就等于造汽车从螺丝钉开始造,而不知道去市场上采购大部分通用件