1 / 33
文档名称:

19.面向对象编程-1.pdf

格式:pdf   大小:1,131KB   页数:33页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

19.面向对象编程-1.pdf

上传人:酒酿小樱桃 2022/7/24 文件大小:1.10 MB

下载得到文件列表

19.面向对象编程-1.pdf

文档介绍

文档介绍:: .
19. 面向对象编程-1
整个 Python 语言也是围绕着类和对象的概念构造起来的
Python 的所有内置类型都被看着是类,例如
>>> type(1)
<class 'int'>
>>> type(print)
<class 'builtin_function_or_method'>
整数 1 的类型是名字为 int 的类,print 的类型也是类
 Python 语言被称为是一种面向对象的编程语言
 类和对象是面向对象编程的两个最基本概念
 例如,int 是一个类型(类),0、1 等是这个类型的对象。
下面考虑基于类和对象的编程,也就是面向对象的编程
计算概论(Python程序设计) 裘宗燕,2015/5/25//-6-类和抽象数据类型
 类定义是 Python 语言里的一种程序结构,一个类(一个类定义)
为程序引入了一个新的数据类型
 所定义的类具有给定的名字,可以通过名字使用
 程序里可以建立该类的实例,称为该类的对象或实例对象
 类定义中描述了其实例(对象)的表示方式和相关操作
 类定义的形式很简单,基本形式是:
class 类名:
语句块
其中语句块可以包含任何语句,最常见情况是一系列函数定义,
也可以有一些赋值语句建立一组局部变量(称为属性)
 与函数定义的情况类似,Python 把类定义也看成一种复合语句,
其执行的效果就是建立起一个类对象,并将其与类名约束
计算概论(Python程序设计) 裘宗燕,2015/5/25//-7-类定义实例:初探
 通过一个例子说明类定义的一些情况:有理数类
 有理数类的实例应该是有理数,类定义应该描述有理数的行为
 需要考虑如何存储一个有理数的信息
 需要定义有理数的行为,即它们能做的各种运算
 需要为有理数类命名
 选定 Rational 作为有理数类的名字,定义好的类可以:
 创建有理数:Rational(3, 5) 将创建一个有理数,建立起一个
分子为 3 分母为 5 有理数对象
 有理数运算:需要为有理数定义一组操作(运算),实现各
种有用的有理数运算
 首先考虑一个朴素的实现
计算概论(Python程序设计) 裘宗燕,2015/5/25//-8-简单有理数类
 类定义通常包含一些函数定义和一些用赋值描述的数据定义
 类里的函数定义描述该类的函数属性,定义的函数称为这个
类的方法。最基本的是实例方法,可供本类的实例使用
 用赋值形式描述的是类的数据属性,有关情况后面介绍
 定义有理数类是为了建立和使用有理数,考虑一些情况
 有理数对象需要创建和记录成分,为此需定义一个用特殊名
字 __init__ 的初始化方法,建立有理数时自动调用这个方法
 有时需要取得有理数的分子或分母,为此需要定义两个方法,
分别命名为 num 和 den
 需要做有理数计算,需要定义相应方法
 在实例方法的定义中,总需要用第一个参数描述被操作的实例对
象,这个参数通常取名 self。还可以有其他参数
计算概论(Python程序设计) 裘宗燕,2015/5/25//-9-简单有理数类
class Rational0:
# 定义几个实例方法,其他类似
def __init__(self, num, den=1):
= num # 设置实例的数据属性
= den # 用 _num 形式名字避免与方法名冲突
def num(self): return
def den