一、面向过程和面向对象
面向过程:根据业务逻辑从上到下写代码。
面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程。
二、类和对象
1、类的概念
面向对象编程的2个非常重要的概念:类和对象是面向对象编程的核心。
在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类。
(1)类是对象的模板,例如:人类,是人这种生物的模板。
(2)类是一个抽象的概念,是一类事物的合集。
例如:人类,汽车类,鸟类,狗类,都是多个具有相同特征事物的合集概念。
2、对象的概念(万事万物皆对象)
对象是具体事物,具有唯一性,一定能确定是哪一个的就是对象。
例如:周杰伦、地球、老王的宝马、小李的泰迪
大众汽车(类):没办法确定那一辆,大众生产的都叫奔驰汽车
大众宝来汽车(类):大众宝来也是所有宝来汽车的类,只不过比大众汽车的范围小一点而已,也可以理解为大众宝来汽车类是大众汽车类的子类。
我的大众汽车(对象):可以确定,因为我就一辆大众汽车。不会有人卖两辆大众吧,如果有还不如去买一辆奥迪是不是。
大黄狗(类):因为所有大一点的黄色的都叫大黄狗,没办法确定哪一个
金毛(类):金毛也是一类狗的统称,没办法确定唯一的一个。
我的金毛(对象):可以确定,具有唯一性。
相关推荐:《Python视频教程》
三、类的构成
类(Class) 由3个部分构成
类的名称:类名
类的属性:一组数据
类的方法:允许对进行操作的方法 (行为)
狗类的设计
类名:狗(Dog)
属性:品种 、毛色、性别、名字、 腿的数量
方法(行为/功能):叫 、跑、咬人、吃、摇尾巴
四、定义类
定义一个类,格式如下:
class 类名:
方法列表
举个例子:定义一个Car类#定义类
class Car:
#方法
def getCarInfo(self):
print("这是一辆%s牌汽车"%self.name)
def move(self)
print("车正在移动")
说明:
定义类有2种:新式类和经典类(基类),上面Car为经典类(基类),如果是Car(object)则为新式类.
类名的命名规则遵循驼峰制。
五、定义对象
通过上面,定义了一个Car类;就好比有车一个张图纸,那么接下来就应该把图纸交给生成工人们去生成了
python中,可以根据已经定义的类去创建出一个个对象
创建对象的格式为:
对象名 = 类名()
创建对象demo#定义类
class Car:
def move(self):
print("车在奔跑")
#创建对象
BMW = Car()
#对象调用方法
BMW.move()
#给对象添加属性
BMW.name = "宝马"
#通过点语法调用对象属性
print(BMW.name)
运行结果为:车在奔跑
宝马
说明:
BMW = Car(),这样就产生了一个Car的实例对象,此时也可以通过实例对象BMW来访问属性或者方法。
第一次使用BMW.name = “宝马”表示给BMW这个对象添加属性,如果后面再次出现BMW.name= xxx表示对属性进行修改。
BMW是一个对象,它拥有属性(数据)和方法(函数)。
当创建一个对象时,就是用一个模子,来制造一个实物。