Python面向对象编程

1. 面向对象编程

1.1 类

人以类聚 物以群分。
具有相似内部状态和运动规律的实体的集合(或统称为抽象)。
具有相同属性和行为事物的统称

类是抽象的,在使用的时候通常会找到这个类的一个具体的存在,使用这个具体的存在。一个类可以找到多个对象

1.2 对象

某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的。

可以是直接使用的

1.3 类与对象的关系

小总结:类就是创建对象的模板

1.4 类的构成

类(Class) 由3个部分构成

  • 类的名称:类名
  • 类的属性:一组数据
  • 类的方法:允许对进行操作的方法 (行为)

1.5 类的抽象

如何把日常生活中的事物抽象成程序中的类?

拥有相同(或者类似)属性和行为的对象都可以抽像出一个类

方法:一般名词都是类(名词提炼法)

<1> 坦克发射3颗炮弹轰掉了2架飞机

  • 坦克--》可以抽象成类
  • 炮弹--》可以抽象成类
  • 飞机-》可以抽象成类

<2> 小明在公车上牵着一条叼着热狗的狗

  • 小明--》 人类
  • 公车--》 交通工具类
  • 热狗--》 食物类
  • 狗--》 狗类

2. 类

2.1 定义类

定义一个类,格式如下:

class 类名:
    方法列表

例如,我们定义一个汽车类:

# 定义类
class Car:
    # 方法
    def getCarInfo(self):
        print('车轮子个数:%d, 颜色%s'%(self.wheelNum, self.color))

    def move(self):
        print("车正在移动...")
  • 类名的命名规则按照"大驼峰"

3. 对象

3.1 创建对象

通过上一节课程,定义了一个Car类;就好比有车一个张图纸,那么接下来就应该把图纸交给生成工人们去生成了

python中,可以根据已经定义的类去创建出一个个对象

创建对象的格式为:

对象名 = 类名()

例如我们创建一个宝马对象:

# 定义类
class Car:
    # 移动
    def move(self):
        print('车在奔跑...')

    # 鸣笛
    def toot(self):
        print("车在鸣笛...嘟嘟..")


# 创建一个对象,并用变量BMW来保存它的引用
BMW = Car()
BMW.color = '黑色'
BMW.wheelNum = 4 #轮子数量
BMW.move()
BMW.toot()
print(BMW.color)
print(BMW.wheelNum)

3.2 总结

  • BMW = Car(),这样就产生了一个Car的实例对象,此时也可以通过实例对象BMW来访问属性或者方法
  • 第一次使用BMW.color = '黑色'表示给BMW这个对象添加属性,如果后面再次出现BMW.color = xxx表示对属性进行修改
  • BMW是一个对象,它拥有属性(数据)和方法(函数)
  • 当创建一个对象时,就是用一个模子,来制造一个实物
posted @ 2019-08-26 21:39  油饼er  阅读(226)  评论(0编辑  收藏  举报