『无为则无心』Python面向对象 — 50、封装的概念
1、封装的概念
封装特性之一,可以把复杂的信息,流程,包起来,内部处理,让使用者不去关注细节, 只关心什么时候能直接使用, 隐藏对象的属性和实现细节,仅对外提供公共访问方式。
2、封装体现
前面我们学习方法时,就提起过,将具体功能定义到方法中,就是一种封装。学习类和对象时,也提过将方法和属性定义在类中,其实这些都是封装。
(1)广义封装表现
- 函数就是一个最基本封装体。
- 类也是一个封装体。
(2)侠义封装体现
- 数据的封装(私有成员变量)
- 行为的封装(私有成员方法)
3、封装原则
将不需要对外提供的内容都隐藏起来。
对外提供公共方法对其访问。
4、封装的好处
- 提高了代码的复用性。
- 隐藏了实现细节,还要对外提供可以访问的方式,便于调用者的使用。
这是核心之一,也可以理解为就是封装的概念。 - 将变化隔离,任何实现细节所做的更改都不会影响使用者。
- 提高了安全性,很容易通过控制访问权限隐藏保密信息,不会意外修改数据。
5、用生活这种的例子来理解封装
台式电脑机箱:
一台电脑,它是由CPU、主板、显卡、内存、硬盘、电源等部件组长,其实我们将这些部件组装在一起就可以使用电脑了,但是发现这些部件都散落在外面,很容造成不安全因素,于是使用机箱壳子,把这些部件都装在里面,并在机箱壳上留下一些插口等,提供外界使用,如,主机开关,usb接口等。
手机:
我们在使用收集的时候,只需动动手指按屏幕就可以使用了,作为用户的我们根本没必要了解其中的电路板怎么设置,也没必要了解硬件之间如何连接。手机制造商把复杂的内部细节封装起来,只给我们按键和屏幕,工作原理我们不需要知道,只要能用就行。