目录
面向对象:什么是对象?
(一)对象的基本概念
〉“万物皆对象”
Python中的所有事物都是以对象形式存在,从简单的数值类型,到复杂的代码模块,都是对象
〉对象(object)
既表示客观世界问题空间中的某个具体事物,又表示软件系统解空间中的基本元素
〉对象 = 属性 + 方法
对象以id作为标识,既包含数据(属性),也包含代码(方法),是某一类具体事物的特殊实例
(二)创建对象
〉对象是类的实例,是程序的基本单元
① 要创建一个新的对象,首先必须定义一个类,用以指明该类型的对象所包含的内容(属性和方法)
② 同一类(class)的对象具有相同的属性和方法,但属性值和id不同
〉对象的名称
赋值语句给予对象以名称,对象可以有多个名称(变量引用),但只有一个id
例:a = complex(1, 2)
〉对象实现了属性和方法的封装,是一种数据抽象机制
提高了软件的重用性、灵活性、扩展性
(三)对象属性和方法的引用
〉引用形式
<对象名>.<属性名>
例:
“abc”.upper()
(1+2j).real
(1+2j).imag
可以跟一般的变量一样用在赋值语句和表达式中
〉Python语言动态的特征,使得对象可以随时增加或者删除属性或者方法
(四)面向对象编程
〉面向对象编程(OOP) 是一种程序设计范型,同时也是一种程序开发方法。程序中包含各种独立而又能互相调用的对象,每个对象都能接受、处理数据并将数据传递给其他对象
〉传统程序设计
将程序看作一系列函数或指令的集合
类的定义与调用
(一)什么是类
〉类(class)是对象的模版,封装了对应现实实体的性质和行为
〉实例对象(Instance Objects)是类的具体化
〉把类比作模具,对象则是用模具制造出来的零件
〉类的出现,为面向对象编程的三个最重要的特性提供了实现的手段封装性、继承性、多态性
〉和函数相似,类是一系列代码的封装
Python中约定,类名用大写字母开头,函数用小写字母开头,以便区分
(二)定义类
class语句
class