找回密码
 会员注册
查看: 21|回复: 0

python基础篇(11):封装

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
71922
发表于 2024-9-7 10:11:47 | 显示全部楼层 |阅读模式
1什么是封装通俗理解:封装,简而言之,就是把数据(变量)和操作这些数据的方法(函数)打包在一起,形成一个“黑箱”,外界只能通过预设的接口(方法)来访问或修改这个“黑箱”里的内容,而无需知道其内部是如何工作的。专业术语:封装是面向对象编程(OOP)的四大基本原则之一,它通过隐藏对象的属性和实现细节,仅对外公开接口来控制外部对对象的访问。2封装原理原理探索:封装表示的是,将现实世界事物的:属性行为封装到类中,描述为:成员变量成员方法在Python中,我们主要通过创建类(class)来实现封装。类是一种自定义的数据类型,它可以包含属性(变量)和方法(函数)。属性用于存储数据,方法则是对这些数据进行操作的函数。通过设置访问权限(public,private),我们可以控制哪些内容可以被外部访问,哪些内容应该保持私有。public(公有):不加任何前缀的属性或方法,默认可以被任何代码访问。private(私有):以两个下划线__开头的属性或方法,表示这是类的内部实现细节,不应直接从外部访问。3封装的好处提高代码的可读性:封装使得代码结构清晰,逻辑更加集中,便于阅读和理解。增强安全性:通过限制对内部数据的直接访问,可以防止外部代码误操作导致的数据损坏。易于维护和升级:当需要修改内部实现时,只需调整类的内部代码,对外部代码的影响降到最低。促进代码复用:封装好的类可以作为组件,在不同的项目中重复使用,提高开发效率。4代码示例Python中的封装主要依赖于名称修饰(NameMangling)机制来实现私有属性的保护。当你为一个属性或方法加上双下划线__前缀时,Python会自动修改其名称,使其对外部代码不可见。例如,如果你定义了一个名为__secret_value的私有属性,Python实际上会将其名称修改为_类名__secret_value。这种机制有效地阻止了外部代码直接访问该属性,除非通过类提供的公共方法。classMyClass:def__init__(self):self.public_var="任何人都能看见"self.__private_var="只有我能看到"#私有变量defget_private_var(self):#公共方法,用于访问私有变量returnself.__private_var#实例化类my_obj=MyClass()print(my_obj.public_var)#输出:任何人都能看见print(my_obj.get_private_var())#正确访问私有变量的方式,输出:只有我能看到my_obj.__private_var="我好帅"#不报错,但是无效print(my_obj.__private_var)#这将引发错误,因为直接访问私有变量被阻止5封装的应用场景数据库连接管理:在处理数据库交互的应用中,封装一个数据库连接类,可以隐藏连接细节、错误处理逻辑,只暴露执行查询、关闭连接等必要方法,大大简化了业务逻辑代码。用户认证模块:设计一个用户类,封装用户的登录信息、验证逻辑等敏感操作。这样,无论是在Web应用还是桌面软件中,都可以安全地处理用户登录,而不用担心密码等敏感信息被随意访问或泄露。高效的GUI组件:在图形界面编程中,每个按钮、文本框等组件都可以视为一个封装好的对象,它们内部处理事件响应、绘图逻辑,而开发者只需关注如何使用这些组件,极大提高了开发效率。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 19:21 , Processed in 0.448018 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表