AI智能
改变未来

『无为则无心』Python面向对象 — 50、封装的概念

[toc]

1、封装的概念

封装特性之一,可以把复杂的信息,流程,包起来,内部处理,让使用者不去关注细节, 只关心什么时候能直接使用, 隐藏对象的属性和实现细节,仅对外提供公共访问方式。

2、封装体现

前面我们学习方法时,就提起过,将具体功能定义到方法中,就是一种封装。学习类和对象时,也提过将方法和属性定义在类中,其实这些都是封装。

(1)广义封装表现

  • 函数就是一个最基本封装体。
  • 类也是一个封装体。

(2)侠义封装体现

  • 数据的封装(私有成员变量)
  • 行为的封装(私有成员方法)

3、封装原则

将不需要对外提供的内容都隐藏起来。

对外提供公共方法对其访问。

4、封装的好处

  1. 提高了代码的复用性。
  2. 隐藏了实现细节,还要对外提供可以访问的方式,便于调用者的使用。这是核心之一,也可以理解为就是封装的概念。
  3. 将变化隔离,任何实现细节所做的更改都不会影响使用者。
  4. 提高了安全性,很容易通过控制访问权限隐藏保密信息,不会意外修改数据。

5、用生活这种的例子来理解封装

台式电脑机箱:

一台电脑,它是由CPU、主板、显卡、内存、硬盘、电源等部件组长,其实我们将这些部件组装在一起就可以使用电脑了,但是发现这些部件都散落在外面,很容造成不安全因素,于是使用机箱壳子,把这些部件都装在里面,并在机箱壳上留下一些插口等,提供外界使用,如,主机开关,usb接口等。

手机:

我们在使用收集的时候,只需动动手指按屏幕就可以使用了,作为用户的我们根本没必要了解其中的电路板怎么设置,也没必要了解硬件之间如何连接。手机制造商把复杂的内部细节封装起来,只给我们按键和屏幕,工作原理我们不需要知道,只要能用就行。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 『无为则无心』Python面向对象 — 50、封装的概念