




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象三大特性江苏电子职业学院Python物联网01封装面向对象封装概念所有属于同一个类的对象都具有相同的特性和操作面向对象程序设计有三大特性:封装、继承、多态,其最重要的一个特性就是封装。一个软件系统运行就是不同的类(模块)相互作用的结果。为了保证软件系统运行的稳定性、可扩展性我们希望做到模块内部高内聚、模块间低耦合。封装面向对象程序设计,通过类把属性和行为整合到一块,一个类就是一个模块。为了实现高内聚低耦合的特点,封装到对象或者类中的属性或方法,我们还可以严格控制对它们的访问权限。Python中可以有隐藏属性和方法。我们可以隐藏重要的属性和操作,提供接口方法对外提供服务,从而隐藏了内部的复杂逻辑。面向对象封装所有属于同一个类的对象都具有相同的特性和操作classFoo:def__init__(self,name,age):=nameself.age=agedefinfor(self):print("name:{},age:{}".format(,self.age))……obj1=Foo('wupeiqi',18)r()属性name,age和方法infor被封装到了类Foo中。类Foo作为一个整体对外提供服务或者对外寻求服务。通过创建对象,实参‘wupeiqi’,18被封装到了对象obj1中。访问限制所有属于同一个类的对象都具有相同的特性和操作访问限制-私有属性Python采用双下划线开头的方式将属性隐藏起来(设置成私有的)。在类的外部不能直接访问双下划线开头的私有属性。但是在类内部是可以直接访问双下划线开头的私有属性的。classStudent:
def__init__(self,inname,inage):
self.name=inname
self.__age=inage#将age设为私有__age
definfor(self):#类内部可以访问私有属性
print("name:{},age:{}".format(self.name,self.__age))
obj1=Student('wupeiqi',18)
r()
print()#能访问到
print(obj1.__age)#访问不到。
r()注意:不能通过=“aaaa”或obj1.__age=11去验证,不会报错,因为Python支持添加属性。访问限制所有属于同一个类的对象都具有相同的特性和操作访问限制-私有属性将数据隐藏起来就限制了类外部对数据的直接操作。此时类内应该提供相应的接口来允许类外部间接地操作数据。我们在设计接口时可以添加逻辑来对数据的操作进行严格地控制。在Python中,类似__xxx__的变量,以双下划线开头,并且以双下划线结尾的,是特殊变量,是可以直接访问的,不是私有变量。classStudent:def__init__(self,inname,inage):=innameself.__age=inagedefinfor(self):print("name:{},age:{}".format(,self.__age))#对外提供设置age接口,并附加类型检查的逻辑
defset_info(self,upage):ifisinstance(upage,int):self.__age=upageelse:raiseTypeError("age必须是整数")s1=Student("wulei",19)r()s1.set_info(20)r()访问限制所有属于同一个类的对象都具有相同的特性和操作访问限制-私有属性classATM:def__card(self):#插卡,隐藏函数
print('插卡')def__auth(self):#身份认证,隐藏函数
print('用户认证')def__input(self):#输入金额,隐藏函数
print('输入取款金额')def__print_bill(self):#打印小票,隐藏函数
print('打印账单')def__take_money(self):#取钱,隐藏函数
print('取款')def__take_exit(self):#退出,隐藏函数
print('退出')defwithdraw(self):#取款功能
self.__card()self.__auth()self.__input()self.__print_bill()self.__take_money()self.__take_exit()obj=ATM()obj.withdraw()同样在方法前面加双下划线,则该方法就被隐藏,如__init__()方法。就是一个私有方法,外部不能直接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CIMA 0003-2018电动汽车非车载充电机现场检测仪
- T/CHTS 10116-2023雄安新区高速公路高性能路基技术指南
- T/CHIA 28.3-2022儿童营养与健康评价指标第3部分:6~17岁
- T/CECS 10298-2023二阶反应型水性环氧沥青防水粘结料
- T/CECS 10083-2020增强竖丝岩棉复合板
- T/CDSA 305.16-2018盾构维护高气压作业规程
- T/CCSAS 050-2024化学化工实验室化学品安全操作规程编写指南
- T/CCMA 0108-2020预制混凝土构件振动成型平台
- T/CCAS 014.6-2022水泥企业安全管理导则第6部分:水泥工厂危险能量隔离管理
- T/CAQI 35-2017新风式空气净化器颗粒物净化性能分级
- 汇率风险管理案例分析-深度研究
- 统编版(2024)七年级下册《道德与法治》课本“活动课”参考答案
- 2025年呼吸内镜考试试题及答案
- 林海雪原考试题和答案
- T-ZSA 232-2024 特种巡逻机器人通.用技术要求
- 工贸企业安全生产台账资料
- 2025年浙江名校协作体高三语文2月联考作文题目解析及范文:“向往”的“苦处”与“乐处”
- epc亮化合同范本
- 《ESD基础知识培训》课件
- 1《学会尊重》(说课稿)统编版道德与法治四年级下册
- 英语青蓝工程徒弟心得体会
评论
0/150
提交评论