Python类与属性封装:私有变量与getter/setter实现
版权申诉
5星 · 超过95%的资源 146 浏览量
更新于2024-09-11
2
收藏 6KB TXT 举报
在2020年9月25日的Python学习资料中,实验8主要关注了类程序设计中的封装和访问控制。核心内容包括如何隐藏类的私有属性以及实现getter和setter方法来保护数据安全。
首先,实验涉及了一个名为`Student`的类,其目的是创建一个具有姓名(name)和性别(gender)属性的学生对象。为了保护`gender`属性不被外部直接访问,使用双下划线`__gender`将其标记为私有变量。通过定义`get_gender()`方法,可以公开获取性别,但通过`set_gender()`方法设置性别时,需要检查传入参数的有效性,确保只能设置为'male'或'female'。在实例化`bart1`和`bart2`时,通过`ceshi()`函数验证了性别属性的正确修改。
接着,实验引入了另一个名为`People`的类,作为对封装概念的进一步练习。这个类定义了私有属性如`__name`、`__age`和`__sex`,以及公共方法`get_name()`和`get_age()`来获取这些属性值。值得注意的是,虽然可以通过点表示法访问类的私有属性(如`p1._People__name`),但在实践中这是不推荐的,因为这违背了封装原则。通过`__dict__`属性可以查看类的所有属性,包括私有属性。
此外,实验还展示了如何访问类的其他元数据,如类的文档字符串(__doc__)、类名(__name__)、所在模块(__module__)以及类的所有父类构成元素(__base__)。这些都是理解类设计和使用的重要部分,尤其是对于面向对象编程中类的继承和模块管理的理解。
这个实验让学习者深入理解了Python中类的封装机制,如何创建和管理私有属性,以及正确地使用getter和setter方法来提供数据访问的控制。同时,也强调了在编程中遵循良好实践的重要性,如避免直接访问私有属性,以便维护代码的整洁和可维护性。
579 浏览量
911 浏览量
582 浏览量
1065 浏览量
142 浏览量
978 浏览量
2020-12-16 上传
6925 浏览量
2022-08-08 上传
陈晨辰熟稳重
- 粉丝: 168
- 资源: 31
最新资源
- MSADS_Portfolio
- Arduino-FOC:用于BLDC和步进电机的Arduino FOC-基于Arduino的磁场定向控制算法库
- TestePraticoDDD:使用受DDD(域驱动设计)实践支配的结构测试项目
- react-number-format:React组件以将数字格式化为输入形式或文本形式
- 鼠标经过图片显示文字介绍代码
- 蓝色简洁企业介绍品牌宣传PPT模板
- DETR.detectron2:基于detectron2的DETR实现
- Algorithm-GoogleCodeJam-2015.zip
- StepperDriver:用于A4988,DRV8825,DRV8834,DRV8880和通用两针(DIRSTEP)步进电机驱动器的Arduino库
- RxAnimatedCarthageExample
- 逗比测试HTML5游戏源码
- HTextView:动画效果为文本,不是真正的textview
- Flarum - PHP编写的漂亮、优雅、简洁的轻论坛.zip
- 噪音控制技术.zip
- HTML5实现的全屏图片展示效果
- Web开发问题