时间:2023-02-05 09:40:07 | 栏目:Python代码 | 点击:次
为什么需要封装:
Python
是面向对象的编程语言,因为面向对象中所有的实体都是以对象为基本单位的,以宏观世界的实体来映射到计算机世界中,每个对象有它自己的属性和自己的行为,我们用类来将这些属性和行为封装到一起,当它实例化出来一个对象的时候,我们可以说这个对象具有这些属性性和行为。编写程序 - 演示属性没有受保护的类.py
运行程序,查看结果:
上述案例将年龄赋值为一个负数-18,在语法上不会有任何问题,因此程序可以正常运行,但在现实生活中明显是不合理的,一般而言,年龄应该是某个范围内的正整数,比如[1, 120]内的某一个整数值。
为了避免出现上述不合理的问题,在设计一个Python类时,应该对成员变量的访问作出一些限定,不允许外界随意访问,这就需要实现类的封装。
如何实现封装:
类的封装,是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的内部信息,而是通过该类所提供的方法来实现对内部信息的操作访问。
在定义一个类时,把属性定义为私有属性,即在属性名的前面加上两个下划线,私有属性只能在它所在类中被访问,如果外界想要访问私有属性,需要提供方法来访问,其中包括用于获取属性值的get_xxx()方法(简称getter)和设置属性值的set_xxx()方法(简称setter)。
编写程序 - 演示私有属性.py
运行程序,查看结果:
直接访问私有属性,看看会是什么情况?