Python编程-封装,继承与多态
一、类的封装
为什么需要封装:
Python
是面向对象的编程语言,因为面向对象中所有的实体都是以对象为基本单位的,以宏观世界的实体来映射到计算机世界中,每个对象有它自己的属性和自己的行为,我们用类来将这些属性和行为封装到一起,当它实例化出来一个对象的时候,我们可以说这个对象具有这些属性性和行为。- 对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担。
- 对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。
1、案例演示
编写程序 - 演示属性没有受保护的类.py
运行程序,查看结果:
2、案例分析
上述案例将年龄赋值为一个负数-18,在语法上不会有任何问题,因此程序可以正常运行,但在现实生活中明显是不合理的,一般而言,年龄应该是某个范围内的正整数,比如[1, 120]内的某一个整数值。
3、解决方案
为了避免出现上述不合理的问题,在设计一个Python类时,应该对成员变量的访问作出一些限定,不允许外界随意访问,这就需要实现类的封装。
如何实现封装:
1、封装的定义
类的封装,是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的内部信息,而是通过该类所提供的方法来实现对内部信息的操作访问。
2、封装的实现
在定义一个类时,把属性定义为私有属性,即在属性名的前面加上两个下划线,私有属性只能在它所在类中被访问,如果外界想要访问私有属性,需要提供方法来访问,其中包括用于获取属性值的get_xxx()方法(简称getter)和设置属性值的set_xxx()方法(简称setter)。
3、案例演示
编写程序 - 演示私有属性.py
运行程序,查看结果:
直接访问私有属性,看看会是什么情况?
栏 目:Python代码
下一篇:Python字符串编码转换 encode()和decode()方法详细说明
本文标题:Python编程-封装,继承与多态
本文地址:http://www.codeinn.net/misctech/225157.html