Python类与属性封装:私有变量与getter/setter实现
版权申诉
5星 · 超过95%的资源 139 浏览量
更新于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方法来提供数据访问的控制。同时,也强调了在编程中遵循良好实践的重要性,如避免直接访问私有属性,以便维护代码的整洁和可维护性。
2020-11-28 上传
2020-11-28 上传
2024-09-13 上传
2023-02-20 上传
2023-07-14 上传
2023-06-13 上传
2023-06-01 上传
2023-07-14 上传
2023-06-03 上传
门牙磕掉了
- 粉丝: 45
- 资源: 23
最新资源
- 深入理解23种设计模式
- 制作与调试:声控开关电路详解
- 腾讯2008年软件开发笔试题解析
- WebService开发指南:从入门到精通
- 栈数据结构实现的密码设置算法
- 提升逻辑与英语能力:揭秘IBM笔试核心词汇及题型
- SOPC技术探索:理论与实践
- 计算图中节点介数中心性的函数
- 电子元器件详解:电阻、电容、电感与传感器
- MIT经典:统计自然语言处理基础
- CMD命令大全详解与实用指南
- 数据结构复习重点:逻辑结构与存储结构
- ACM算法必读书籍推荐:权威指南与实战解析
- Ubuntu命令行与终端:从Shell到rxvt-unicode
- 深入理解VC_MFC编程:窗口、类、消息处理与绘图
- AT89S52单片机实现的温湿度智能检测与控制系统