版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章面向对象程序设计Python程序设计与案例教程10.1面向对象程序设计概述1.对象:现实世界中客观存在的事物对象特征:(1)有一个名称用来唯一标识对象;(2)用一组状态用来描述其特征;(3)用一组操作用来实现其功能。2.类:对一组具有相同属性和相同操作对象的抽象一个类的构造至少应包括以下方面:(1)类的名称;(2)属性结构,包括所用的类型、实例变量及操作的定义;(3)与其他类的关系,如继承关系等;(4)外部操作类的实例的操作界面。3.消息:对象之间在交互中所传送的通信信息。4.封装:在面向对象方法中,对象的属性和方法的实现代码被封装在对象的内部,象具有的这种封装特性称为封装性。5.继承性:在已有类的基础上创建新的类,新类可以从一个或多个已有类中继承函数和数据,而且可以重新定义或加进新的数据和函数。6.多态性:类中具有相似功能的不同函数使用同一名称。10.2类与对象类的定义:class类名: 类的内部实现classCat:defdescribe(self): print(‘Thisisacat‘)10.2类与对象2.对象的创建:对象名=类名(参数列表)cat=Cat() #创建对象cat.describe() #调用成员方法10.3属性与方法实例属性>>>classcat:>>> def__init__(self,s):>>> =s #定义实例属性2.类属性classCat: size=‘small’#定义类属性
def__init__(self,s): =s #定义实例属性cat1=Cat(‘mi‘)cat2=Cat(‘mao’)print(,Cat.size)3.对象方法类中定义的方法:私有方法、公有方法和静态方法公有方法、私有方法和静态方法的定义和调用。classAnimal:specie=‘cat’def__init__(self): self.__name=‘mao’ #定义和设置私有成员
self.__color=‘black’def__outPutName(self):#定义私有函数
print(self.__name)defoutPut(self): #定义共有函数outPutName() #调用私有方法outPutColor()@staticmethod #定义静态方法defgetSpecie(): returnAnimal.specie#调用类属性
@staticmethoddefsetSpecie(s):Animal.specie=s10.
4继承和多态继承class<父类名>(object): <父类内部实现>class<子类名>(<父类名>): <子类内部实现>
2.多重继承Python支持多重继承,若父类中有相同的方法名,子类在调用过程中并没有指定父类,则子类从左向右按照一定的访问序列逐一访问父类函数,保证每个父类函数仅被调用一次。3.多态:指不同对象对同一消息做出的不同反应,即“一个接口,不同实现”classA(object): defrun(self): print('thisisA')class B(A): defrun(self): print('thisisB')class C(A): defrun(self): print('thisisC')
#主程序b=B()b.run()c=C()c.run() 例:已知序列a,求解所有元素的和与所有元素的积。classListArr:def__init__(self): self.sum=0 =1defadd(self,l): foriteminl: self.sum+=itemdefproduct(self,l): foriteminl: *=itema=[12,32,63,54]l=ListArr()
l.add(a)duct(a)print(l.sum)print()10.
5应用举例例:已知序列a,求解所有元素的和与所有元素的积。importrandomclassOrderList:def__init__(self):self.arr=[]self.num=0defgetList(self):foriinrange(10):self.arr.append(random.randint(1,100))self.num+=1defselectSort(self):foriinrange(0,self.num-1):forjinrange(i+1,self.num):ifself.arr[i]>self.arr[j]:self.arr[i],self.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖南宁远政务新媒体运营劳务派遣人员招聘2人农业考试备考试题及答案解析
- 2026重庆市长寿区人民医院助理全科医生培训招聘18人农业考试参考题库及答案解析
- 2026江苏常州市钟楼区卫生健康系统定向招聘农村订单定向医学毕业生2人农业笔试参考题库及答案解析
- 2026广东中山大学肿瘤防治中心实验研究部徐瑞华教授课题组自聘技术员招聘2人农业笔试参考题库及答案解析
- 2026广东中山市板芙镇企业发展有限公司第一批招聘岗位1人农业笔试备考题库及答案解析
- 2025至2030婴童护理用品行业项目调研及市场前景预测评估报告
- 2026甘肃张掖山丹县春季引进高层次和急需紧缺人才13人农业笔试模拟试题及答案解析
- 2025至2030中国汽车涂料胶粘剂和密封剂(CAS)行业项目调研及市场前景预测评估报告
- 2025至2030中国工业生物反应器行业项目调研及市场前景预测评估报告
- 2025至2030中国叠片磁铁行业项目调研及市场前景预测评估报告
- JGJ79-2012 建筑地基处理技术规范
- 四川移动公司招聘笔试题
- 《机车乘务作业》 课件 04途中作业
- DB 5309-T 66-2023滇鸡血藤林下种植技术规程
- 《财政学》第七章 财政收入总论
- 产品供货方案、售后服务方案
- 《无人机操控飞行》课件 情境5 多旋翼无人机水平8字飞行
- 第九章骨关节与软组织课件
- 社会学与中国社会学习通课后章节答案期末考试题库2023年
- 城市道路交通规划设计规范
- YS/T 337-2009硫精矿
评论
0/150
提交评论