版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象三大特性江苏电子职业学院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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版智能门窗控制系统设计与安装合同4篇
- 二零二五年度供热设施运行维护服务合同范本3篇
- 2025年度个人旅游度假服务合同示范4篇
- 二零二五年度文化产业项目投资合同合4篇
- 二零二五年度床上用品进出口贸易合同样本6篇
- 二零二五年度内河水路运输船舶燃料供应合同范本3篇
- 二零二五版欧派橱柜现代风格全屋定制合同4篇
- 二零二五年度智慧城市厕所建设运维管理合同3篇
- 二零二五年度美术教育机构美术教师学生辅导合同3篇
- 二零二五年度民政厅离婚协议书模板制作与婚姻家庭法律援助合同2篇
- 电缆挤塑操作手册
- 浙江宁波鄞州区市级名校2025届中考生物全真模拟试卷含解析
- 2024-2025学年广东省深圳市南山区监测数学三年级第一学期期末学业水平测试试题含解析
- IATF16949基础知识培训教材
- 【MOOC】大学生创新创业知能训练与指导-西北农林科技大学 中国大学慕课MOOC答案
- 劳务派遣公司员工考核方案
- 基础生态学-7种内种间关系
- 2024年光伏农田出租合同范本
- 《阻燃材料与技术》课件 第3讲 阻燃基本理论
- 2024-2030年中国黄鳝市市场供需现状与营销渠道分析报告
- 新人教版九年级化学第三单元复习课件
评论
0/150
提交评论