- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
面向对象设计和异常处理学习目标了解面向对象的内涵。了解面向对象编程和面向过程编程的区别。掌握类的创建和特性。掌握方法的特性。掌握异常处理机制。对象面向对象编程(ObjectOrientedProgramming,OOP)是一种软件设计方法。随着科技水平的发展,软件编程的代码量日益增加,面向对象编程应运而生。面向对象编程主要针对大型软件设计而提出,它使得软件设计更加灵活,相对于面向过程编程来讲,能够更好地支持代码复用和设计复用,并且使得代码具有很好的可读性和扩展性。封装性:实现对象信息隐蔽,利用接口隐蔽对象内部的工作细节。多态性:不同类的对象使用相同的操作可以得到不同的执行结果。继承性:实质上就是通过建立专门的类来实现数据共享。类类(Class)是面向对象编程(OOP,Object-OrientedProgramming)实现数据封装的基础。例如,“鸟”就是一个类,燕子、喜鹊、老鹰等都是属于“鸟”这个类当中的具体实例(具体某件事物),可以把“鸟”看作是所有鸟的集合,同样的“鸟”也属于“动物”这个行列,还可以把“鸟”看作是“动物”的子集,而“动物”是“鸟”的超类。创建类Python使用“class”关键字定义类,“class”关键字之后是一个空格,然后是类的名称,接着是一个冒号,最后换行并定义类的语句块实现。className: definit(self): print(MynameisLiHua!)name=Name()name.init()MynameisLiHua!可以使用内置方法“isinstance()”来测试一个对象是否为某个类的实例。isinstance(name,Name)True创建类Python使用“class”关键字定义类,“class”关键字之后是一个空格,然后是类的名称,接着是一个冒号,最后换行并定义类的语句块实现。类名的首字母一般要大写,要达到顾名思义的效果,并在整个系统的设计和实现中保持风格一致,这有助于团队协作工作。类的所有方法都必须至少有一个“self”参数,并且必须是方法的第一个形参(假设有多个形参),“self”参数代表创建的对象本身。当然“self”命名只是一个习惯,在实际操作中类的方法中第一个参数的名称是可以自定义的,非必需使用“self”这个名称,但是建议编写代码时仍以“self”命名。className: definit(self): print(MynameisLiHua!)name=Name()name.init()MynameisLiHua!可以使用内置方法“isinstance()”来测试一个对象是否为某个类的实例。isinstance(name,Name)True类的特性和方法“self”参数可以调用类中的变量和方法。classStudents: def__init__(self,id_number): self.id=id_number defshow(self): print(self.id)stu1=Students(9527)stu1.show()9527类的特性和方法公有方法:自定义的普通成员方法,如同公有成员一样可以通过对象名直接调用,可以访问属于类和对象的成员。私有方法:私有方法的名字以两个下划线“__”开始,如同私有变量一样不能通过对象名直接调用,可以访问属于类和对象的成员。静态方法:静态方法可以没有参数,可以通过类名和对象名调用,但不能直接访问属于对象的成员,只能访问属于类的成员。类方法:一般将“cls”作为类方法的第一个参数名称,但也可以使用其他命名的参数,在调用类方法时不需要为该参数传递值。可以通过类名和对象名直接调用,但不能直接访问属于对象的成员,只能访问属于类的成员。类的特性和方法公有方法、私有方法、静态方法和类方法之间的区别:classRoot:__total=0 #私有成员变量def__init__(self,v):#构造方法/私有方法self.__value=vRoot.__total+=1defshow(self):#公有方法print(self.__value:,self.__value)print(Root.__total:,Root.__total)@classmethod#修饰器,声明类方法defclassShowTotal(
您可能关注的文档
- Protel 99 SE原理图及PCB设计实例教程:+5V直流稳压电源的PCB设计.ppt
- Protel 99 SE原理图及PCB设计实例教程:+5V直流稳压电源原理图的设计.ppt
- Protel 99 SE原理图及PCB设计实例教程:PCB封装的绘制.ppt
- Protel 99 SE原理图及PCB设计实例教程:PCB综合设计实例.ppt
- Protel 99 SE原理图及PCB设计实例教程:波形发生器层次原理图的设计.ppt
- Protel 99 SE原理图及PCB设计实例教程:印制电路板设计基础.ppt
- Protel99SE的安装与基本操作.ppt
- Python程序设计案例教程课件:Python基本结构.ppt
- Python程序设计案例教程课件:函数操作.ppt
- Python程序设计案例教程课件:列表操作.ppt
最近下载
- 临床路径培训(共29张课件).pptx VIP
- 2024年《全国教育大会》专题PPT课件.ppt
- 介入应急预案演练(坠床).docx
- JTG B05-2015《公路项目安全性评价规范》释义手册_(高清版).pdf
- 第四单元 三国两晋南北朝时期:孕育统一和民族交融单元质检卷(B卷)--2024-2025学年统编版七年级历史上册.docx VIP
- 二类医疗器械管理培训试题.pdf
- 乡镇建房地基购买合同5篇.docx
- 职业生涯报告(通用8篇).pdf VIP
- QGDW 10278-2021 变电站接地网技术规范.docx
- 第四单元 三国两晋南北朝时期:孕育统一和民族交融单元质检卷(A卷)--2024-2025学年统编版七年级历史上册.docx VIP
文档评论(0)