版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025山东济宁市梁山城乡发展集团有限公司招聘20人笔试历年参考题库附带答案详解
- 2025宝鸡晨源金属材料有限公司招聘笔试历年参考题库附带答案详解
- 2025安徽宿州市高新建设投资集团有限公司招聘10人笔试历年参考题库附带答案详解
- 2025四川九州光电子技术有限公司招聘财务核算岗测试笔试历年参考题库附带答案详解
- 2025云南红河州蒙自市锦屹建筑工程有限公司招聘2人笔试历年参考题库附带答案详解
- 2025中国葛洲坝集团勘测设计有限公司招聘笔试历年参考题库附带答案详解
- 2025中国安能三局第二批应急技能人员招聘100人笔试历年参考题库附带答案详解
- 2025东风汽车集团股份有限公司新车型项目组招聘笔试历年参考题库附带答案详解
- 2025“才聚齐鲁成就未来”山东省机场管理集团临沂国际机场有限公司校园招聘9人笔试历年参考题库附带答案详解
- 2025年河南安阳邺城职业学院高职单招职业适应性测试考试题库附完整答案详解(名师系列)
- 2025年四川选调生考试申论试题与答案
- 车辆洗车槽采购合同范本
- 交警培训课件 辅警
- 出口数据加密与解密技术解析
- 《羊饲养与疫病防》课件
- 美容美体艺术-大学专业介绍
- DB13-T 5931-2024 珍珠棉生产企业安全生产技术条件
- 2024年全国各地中考语文真题分类汇编【第二辑】专题09 散文阅读(含答案)
- DL-T5842-2021110kV~750kV架空输电线路铁塔基础施工工艺导则
- 医院培训课件:《小儿荨麻疹的护理查房》
- 蔬菜栽培学总论-期末考试-考研复试
评论
0/150
提交评论