您现在所在的位置:首页 >学习资源 > Python全栈+人工智能入门教材 > Python基础入门教程24:企业级开发基础5:面向对象特征(封装

Python基础入门教程24:企业级开发基础5:面向对象特征(封装

来源:奇酷教育 发表于:

面向对象程序设计最主要的有三个特征:封装、继承、多态本节内容主要讲解面向对象的第一个特征:封装1 封装的意义在我们程序开发过程中,

面向对象程序设计最主要的有三个特征:封装、继承、多态
 
本节内容主要讲解面向对象的第一个特征:封装
 
1 封装的意义
 
在我们程序开发过程中,定义好类型之后就可以通过类型来创建对象
如:我们定义一个中华人民共和国公民的类型

我们会发现,上面的代码在运行时是正确的,也就是可以修改age属性为1000
此时我们需要明确一个概念:代码运行正确,但是不代表符合业务逻辑,这样的代码我们一般会说代码处理不合法!
2. 实现封装的过程
 
对于上面这样的问题,我们应该怎么处理呢
常规的方案就是:
 
定义一种这样的属性,属性只有在当前类的内部可以访问
类的外部不能访问这个属性,只能通过类提供的方法来进行属性的取值和赋值
在取值或者赋值的方法中,就可以添加一定的限制处理的代码了
python中,提供了这样的一种特殊的变量,变量名称使用两个下划线开头,这样的变量智能在类的内部访问,类的外部是访问不了的,我们称之为私有属性




3. 封装的高级使用方式
 
我们从上面的代码中已经看到了,可以通过函数操作的形式来进行属性的处理
但是某些情况下,函数操作的形式并不是特别美妙,我们突发奇想~想再提供了set/get访问方法的情况下,对属性的操作还能像以前那样直接赋值或者取值进行操作



此时,你还能在不看原来类型定义中的get/set,区分出来name是否是Person类型的属性还是方法呢?
 
> 封装的注解方式,在一定程度上,能隐藏我们方法在底层的实现,让调用者的操作变得简单。但是同时也降低了代码的可读性,后续的操作中,我们还是遵循原来封装的操作方案将类的属性私有化,提供set/get方法进行属性的操作。

>>>更多VR/AR入门教程:VR入门