- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第七章
面向对象编程;250;面向对象基础;;一、面向对象的含义
面向对象编程是一种通过对象,把现实世界映射到计算机模型的编程方法。把数据和对数据的操作方法封装在一起,作为一个相互依存的整体——对象。这里把现实世界的任何事物都当作一个相对独立的对象来看待;也可以是抽象的事件。;二、面对对象的基本特征
1.?封装
封装是面向对象编程的核心思想,将对象的属性和行为封装起来就是类。
采用封装的优点是保证了类内部数据结构的完整性,使用类时不能直接访问该类中的数据,避免了外部对内部数据的影响,提高了程序的可维护性。
面向对象程序设计采用封装具有以下两方面含义。
(1)将有关的数据和操作代码封装在一个类中,各个类之间相对独立,互不干扰。
(2)将类中的某些数据和操作代码对外隐蔽,即隐蔽内部细节,只留下少量接口,以便与外部联系,接收外部的消息。;2.?继承
继承主要利用了特定对象之间的共有属性。
如果类之间具有继承关系,则它们具有以下特性。
(1)类之间具有共享特性。
(2)类之间具有差别或新增部分。
(3)类之间具有层次结构。
继承性是面向对象程序设计语言不同于其他语言的最重要的特点,是其他语言所没有的。继承性可以避免公用代码的重复开发,避免代码和数据冗余,而且能通过增强一致性来减少模块间的接口和界面。;3.?多态
多态是指同一个行为可以有不同的表现形式。
多态的意义在于同一操作作用于不同的对象时,可以有不同的解释,从而产生不同的执行结果,即“以父类的身份出现,以自己的方式工作”。;三、面向对象的常用术语
1.?类
类(class)是用来描述具有相同的属性(数据)和行为(方法)的对象集合。它定义了该集合中所有对象共有的数据和方法,对象是类的实例。;2.?对象
对象是通过类定义的数据结构进行实例化后的变量。对象包括数据成员(类变量和实例变量)和方法。
Python和其他编程语言相比,在尽可能不增加新的语法和语义的情况下加入了类机制。面向对象编程的特点如下。
(1)完全采用面向对象的思想,是一种高级动态编程语言。
(2)支持封装、??承、多态、重载和重写。
(3)一切内容都为对象,如字符串、列表、元组、数值等。
(4)创建类时,属性用变量表示,行为用方法表示。;3.?实例化
实例化就是创建一个类的实例,即类的具体对象。
4.?类变量
类变量在整个实例化的对象中是公用的。类变量定义在类中且在方法体之外。
5.?实例变量
实例变量是定义在方法中的变量,只作用于当前实例中。;6.?数据成员
类变量或实例变量用于处理类及其实例对象的相关数据就是数据成员。
7.?方法
类中定义的函数常称为方法。方法是类中一种特殊的函数。
8.?方法重写
如果从父类继承的方法不能满足子类的要求,可以对其进行改写,这个过程称为方法覆盖,也称为方法重写。;类的定义与使用;;一、类的定义
Python中使用关键字class来定义类。
格式:
class类名:
数据成员名=值
def方法名():
方法体;说明:
1.类名遵循标识符命名规则,通常情况下建议类名首字母大写,有多个单词时遵循“驼峰原则”。
2.类的成员包括数据成员和方法成员。数据成员的定义通过直接给数据成员赋值的方式进行,方法成员的定义与函数的定义方式相同。;二、类的实例化
类的实例化即由类创建对象。当类定义完成后,并不会真正创建一个实例。
格式:对象名=类名([参数1,参数2,…])
功能:将类实例化为对象。
说明:参数是可选项,根据类的构造方法选择是否需要参数。通过“对象名.数据成员”或“对象名.方法成员()”的方式来访问对象的数据成员或方法成员。;数据成员与方法成员;;一、数据成员
1.?数据成员的类别
Python中类的数据成员包括类成员(类属性)和实例成员(实例属性)。类成员是在类中所有方法之外定义的数据成员;实例成员一般是在构造方法__init__()中定义的,定义和使用时必须以self作为前缀。与构造方法相对应的方法称为析构方法__del__(),是将产生的对象清除后由系统自动调用,一般用来释放对象所占用的资源。如果没有明确定义析构方法,系统会提供一个默认的析构方法进行必要的清理工作。;2.?数据成员的区别
在主程序(或类的外部)中,实例成员属于实例(即对象),只能通过对象名访问;而类成员属于类,既可以通过类名访问,也可以通过对象名访问。
3.?类成员的增加
与其他面向对象编程的语言不同,在Python中,允许动态地为类和对象增加成员,这是Python动态类型特点的重要体现。
4.?属性值的修改
如果修改类成员的值,应通过类修改,而不能通过对象修改。;二、方法成员
1.?实例方法
实例方法是每个对象所有的、各自
您可能关注的文档
最近下载
- 2025形势与政策-加快建设社会主义文化强国.pptx
- 人教版(2025)七年级下册Unit1Animal FriendsSection B How are animals part of our lives Section B 1a~2b课件+音频(共3.pptx VIP
- 110kv变电站继电保护毕业设计.doc VIP
- 公路隧道工程施工.pptx
- 电信行业运营商业务连续性保障方案.doc VIP
- 生态酒店设计分析.pptx
- GB∕T 702-2017 热轧钢棒尺寸、外形、重量及允许偏差(高清版).pdf
- 2025-2030年中国采血器产业运行动态分析及投资战略咨询报告.docx
- 江苏旅游资源的特征与分类及开发思考.pptx VIP
- 海南大学2022-2023学年《细胞生物学》期末考试试卷(B卷)附参考答案.docx
文档评论(0)