面向对象的介绍
面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程的思路是将数据与函数按照执行的逻辑顺序组织在一起,数据与函数分开考虑
解决吃啤酒鸭的问题
第一种方式(面向过程):
1)养鸭子,2)鸭子长成,3)杀,4)作料,5)烹饪,6)吃
第二种方式(面向对象):
1)找个卖啤酒鸭的人
2)给钱 交易
3)吃
类和对象
面向对象编程的2个非常重要的概念(类和对象)
对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类
类和对象
类(Class) 由3个部分构成
01). 类的名称:类名
02). 类的属性:一组数据
03). 类的方法:允许对进行操作的方法 (行为)
举例:
1)人类设计,只关心3样东西:
事物名称(类名):人(Person)
属性:身高(height)、年龄(age)
方法(行为/功能):跑(run)、打架(fight)
创建对象
python中,可以根据已经定义的类去创建出一个或多个对象。
创建对象的格式为:(实例化对象)
对象名1 = 类名()
对象名2 = 类名()
创建对象demo:
class Hero(object): # 新式类定义形式
"""info 是一个实例方法,类对象可以调用实例方法,实例方法的第一个参数一定是self"""
def info(self):
"""当对象调用实例方法时,Python会自动将对象本身的引用做为参数,
传递到实例方法的第一个参数self里"""
print(self)
print("self各不同,对象是出处。")
添加和获取对象的属性
输出结果
魔法方法__init__
init()方法,在创建一个对象时默认被调用,不需要手动调用
init(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去。
输出结果
魔法方法:del()方法
1). 创建对象后,python解释器默认调用__init__()方法;
2). 当删除对象时,python解释器也会默认调用一个方法,这个方法为__del__()方法