- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python程序设计语言 Python面向对象程序设计 张晓 西北工业大学计算机学院 zhangxiao@nwpu.edu.cn 2009-11-4 Python程序设计语言 * 目录 面向对象程序设计 对象和类 创建一个类 属性和方法 UML设计 Python程序设计语言 * 面向对象程序设计 面向过程的编程 根据操作数据的函数或语句块来设计程序的 面向对象的编程 数据和功能结合起来,用称为对象的东西包裹起来组织程序的方法。 在大多数时候你可以使用过程性编程,但是有些时候当需要编写大型程序或是寻求一个更加合适的解决方案的时候。 类和对象是面向对象编程的两个主要方面。类创建一个新类型,而对象这个类的 实例 。这类似于你有一个int类型的变量,这存储整数的变量是int类的实例(对象)。 Python程序设计语言 * 对象和类 对象可以使用普通的 属于 对象的变量存储数据。属于一个对象或类的变量被称为域。对象也可以使用 属于 类的函数来具有功能。这样的函数被称为类的方法。这些术语帮助我们把它们与孤立的函数和变量区分开来。域和方法可以合称为类的属性。 域有两种类型——属于每个实例/类的对象或属于类本身。它们分别被称为实例变量和类变量。 类使用class关键字创建。类的域和方法被列在一个缩进块中。 Python程序设计语言 * 创建一个类 使用class定义,属性和函数都用缩进表示 # Filename: simplestclass.py class Person: pass # An empty block p = Person() print p print Person Python程序设计语言 * 属性 与类和对象的名称空间 绑定 的普通变量,即这些名称只在这些类与对象的前提下有效。 类名.类变量(使用对象名.类变量也可访问) 对象名.对象变量 定义的位置 类属性 紧跟在类定义之后 对象属性 在__init__中使用self.xxx=定义 例子:objvar.py Python程序设计语言 * 方法的定义 类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。 可以是任意一个变量名,但最好遵循通用的规则。 __init__构造函数,__del__析构函数 Python程序设计语言 * Self参数的工作原理 假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了。 如果你有一个不需要参数的方法,你还是得给这个方法定义一个self参数。 Python程序设计语言 * 方法的使用 调用方法同普通函数一致,忽略self参数。 对象名.方法名(参数…) Python程序设计语言 * 方法的使用 调用方法同普通函数一致,忽略self参数。 对象名.方法名(参数…) Python程序设计语言 * UML类图中的关系 类与类之间的关系 继承 实现 对象与对象之间的关系 依赖 (Dependency ) 关联(Association) 聚合(Aggregation) 合成(Composition) Python程序设计语言 * UML中类的关系—继承 继承 指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Python中类定义时后面括号中可加上父类。 class people: def __init__(self): … class student(people): …. Python程序设计语言 * UML中类和接口—实现 实现 指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系;Python不支持接口,具体实现时可用类代替; Python程序设计语言 * UML对象与对象关系-依赖 依赖 可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B作为参数被类A在某个method方法中使用; Python程序设计语言 * UML对象与对象关系-关联 关联 他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如
文档评论(0)