特点
面向过程
- 注重步骤与过程
- 代码需求复杂,代码会变得很复杂
- 开发复杂项目,难度大
面向对象
- 注重对象,不同对象承担不同责任
- 更加适合应用复杂的需求变化,是专门为应用复杂项目开发
- 需要在面向过程基础上,在学习面向对象的语法
类和对象
简介
- 类是一群具有相同特征或行为的事物的一个统称,是抽象的,不能直接使用。特征被称为属性,行为被称为方法
- 对象是由类创建出来的一个具体存在,可以直接使用。由哪个类创建出来的对象,就拥有哪一个类定义的属性和方法
关系
- 类是模板,对象是根据类创建出来的,应该先有类,再有对象
- 类只有一个,对象可以多个,不同对象之间的属性各不相同
类的设计
- 类名,这类事物的名字
- 属性,这类事物具备的特征
- 方法,这类事物具备的行为
类名
- 定义类的名字
属性
- 对象的特征描述,通常可以定义成属性
方法
- 对象具备的行为,通常定义为方法
- 方法定义的格式和函数几乎一样,区别在于第一参数必须是self
基础语法
类定义格式
class 类名:
def 方法1(self,参数列表):
pass
def 方法2(self,参数列表):
pass
创建对象
创建对象语法格式
对象变量 = 类名()
方法中的self参数
- 由哪个对象调用的方法,方法内的self就是哪一个对象的引用
- 面向对象开发中,引用同样适用
- 使用类创建对象后,对象的变量中仍然记录的是对象在内存中的地址,也就是对象的变量引用了新建的类对象
- 在类封装的方法内部,self就表示当前调用方法的对象自己。调用方法时,不需要传递self参数
- 在方法内部,可以通过
self.
访问对象的属性,也可以通过self.
调用其他的对象方法 - 在类的外部,通过
变量名.
访问对象的属性和方法,在类封装的方法中,通过self.
访问对象的属性和方法
初始化方法
-
为对象在内存中分配空间----创建对象
-
为对象的属性设置初始值-----初始化方法(init)
-
初始化方法就是
__init__
方法,__init__
是对象的内置方法,__init__
方法是专门用来定义一个类具备哪些属性的方法 -
在
__init__
方法内部使用self.属性名 = 属性的初始值
就可以定义属性,定义属性后,再使用类创建的对象,都会拥有该属性
内置方法和属性
__del__
方法
- 当使用
类名()
创建对象时,为对象分配完空间后,自动调用__init__
方法,当一个对象被从内存中销毁前,会自动调用__del__
方法 -
__init__
改造初始化方法,可以让创建对象更加灵活 - 对象的生命周期,一个对象从调用
类名()
创建,生命周期开始,一个对象的del方法一旦被调用,生命周期结束,在对象的生命周期内,可以访问对象属性,或者让对象调用方法
__str__
方法
- 如果在开发中,希望使用
print
输出对象变量时,能够打印自定义内容,就可以利用__str__
这个内置方法 -
__str__
方法必须返回一个字符串
网友评论