版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章
面向对象编程(上)·面向对象编程·
类和对象·
构造方法和析构方法·
self的使用·运算符重载了解掌握掌握掌握
学习目标了解面向对象编程思想12掌握类和对象的定义和使用掌握self的使用34掌握构造方法的使用01面向对象编程概述02类和对象03构造方法和析构方法目录页04self的使用05运算符重载过渡页01面向对象编程概述02类和对象03构造方法和析构方法04self的使用05运算符重载01面向对象编程概述面向对象程序员“面向对象”在现实世界中存在各种不同形态的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物,使用对象间的关系来描述事物之间的联系,这种思想就是面向对象。编程思想
实现步骤特点面向过程开始游戏先分析解决问题的步骤使用函数把这些步骤以此实现使用的时候需要逐个调用函数黑子先走绘制画面轮到白子。绘制画面判断输赢返回步骤2输出最后结果面向对象黑白双方:这两方的行为一样把解决问题的事物分为多个对象对象具备解决问题过程中的行为棋盘系统:负责绘制画面规则系统:负责判断诸如犯规、输赢等。分别使用面向过程和面向对象来实现五子棋面向对象若加入悔棋功能,面向过程和面向对象,分别怎么实现呢?面向过程面向对象从输入到判断到显示的一系列步骤都需要改动只需要改动棋盘对象就可以更简便!面向对象过渡页01面向对象编程概述02类和对象03构造方法和析构方法04self的使用05运算符重载02类和对象类和对象的关系面向对象编程有两个非常重要的概念:类和对象。对象是面向对象编程的核心。具有相似特征和行为的事物的集合统称为类
对象是根据类创建的,一个类可以对应多个对象。类和对象的关系可以把玩具模型看作一个类把每个玩具看作一个对象类的定义类是由3部分组成的:类的名称:类名,首字母必须大写,比如Person。类的属性:一组数据,比如性别。类的方法:允许进行操作的方法,比如说话。类的定义使用class关键字来声明一个类,基本格式如下:
class类名:
类的属性
类的方法语法格式根据类创建对象根据类创建对象的语法格式如下:
对象名=类名()要想给对象添加属性,可以通过如下方式:对象名.新的属性名=值过渡页01面向对象编程概述02类和对象03构造方法和析构方法04self的使用05运算符重载03构造方法和析构方法构造方法构造方法指的是__init__方法。当创建类的实例的时候,系统会自动调用构造方法,从而实现对类进行初始化的操作。构造方法classCar: def__init__(self):self.color=“黑色” deftoot(self):
print("%s的车在鸣笛..."%(self.color))
bmw=Car("雪山白")析构方法当删除一个对象来释放类所占用资源的时候,Python解释器默认会调用另外一个方法,这个方法就是__del__()方法。__del__方法被称为析构方法。过渡页01面向对象编程概述02类和对象03构造方法和析构方法04self的使用05运算符重载04self的使用self的使用在方法的列表中,第1个参数永远都是self。self的字面意思是自己,我们可以把它当做C++里面的this指针理解,表示的是对象自身。当某个对象调用方法的时候,Python解释器会把这个对象作为第1个参数传给self,开发者只需要传递后面的参数就可以了。self的使用classDog:def__init__(self,newColor):self.color=newColordefprintColor(self):
print("颜色为:%s"%self.color)
dog1=Dog("白色")
dog1.printColor()
示例:过渡页01面向对象编程概述02类和对象03构造方法和析构方法04self的使用05运算符重载05运算符重载运算符重载是通过实现特定的方法使类的实例对象支持Python的各种内置操作。例如:+运算符是类里提供的__add__这个函数,当调用+实现加法运算的时候,实际上是调用了__add__方法。运算符重载运算符重载方法说明何时调用方法__add__加法运算对象加法:x+y,x+=y
__sub__减法运算对象减法:x-y,x-=y
__mul__乘法运算对象乘法:x*y,x*=y
__diy__除法运算对象除法:x/y,x/=y
__getitem__索引,分片x[i]、x[i:j]、没有__iter__的for循环等__setitem__索引赋值x[i]=值、x[i:j]=序列对象__delitem__索引和分片删除delx[i]、delx[i:j]
加法运算符重载加法运算是通过调用__add__方法完成重载的,当两个实例对象执行加法运算时,自动调用__add__方法。z=x+y执行加法运算,实质是调用__add__方法索引和分片重载跟索引相关的重载方法包括如下3个:__getitem__:索引、分片;__setitem__:索引赋值;__delitem__:索引和分片删除。1.
__getitem__方法在对实例对象执行索引、分片或者for迭代操作时,会自动调用__getitem__方法。索引和分片重载#定义索引、分片运算符重载方法def__getitem__(self,index):returnself.data[index]2.
__setitem__方法通过赋值语句给索引或者分片赋值时,调用__setitem__方法实现对序列对象的修改。索引和分片重载def__setitem__(self,index,value):self.data[index]=value3.
__delitem__方法当调用del方法时,实质上会调用__delitem__方法实现删除操作。索引和分片重载def__delitem__(self,index):delself.data[in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论