1.面向对象的理解
面向对象是一种设计思想
符合人们的思考习惯
把执行者变成指挥者
简化功能,把复杂的事情简单化
想完成一个事,找具有这样功能的对象
如果能找到,调用这个对象的功能,完成这个事
如果找不到,创建具有这样功能的对象,再调用完成这个事
面向对象有三大特征:
封装
继承
多态
2.类和对象
对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类
类就相当于制造飞机时的图纸,用它来进行创建的飞机就相当于对象
类是对事务的描述,是抽象的。
对象是类的具体体现。
类对事务的描述:属性(名词)和行为(动词)
例如:
奔驰汽车 类
奔驰smart 类
张三的那辆奔驰smart 对象
狗 类
大黄狗 类
李四家那只大黄狗 对象
水果 类
苹果 类
红苹果 类 红富士苹果 类
我嘴里吃了一半的苹果 对象
3.类的构成
类(Class) 由3个部分构成
类的名称:类名
类的属性:一组数据 属性、变量
类的方法:允许对进行操作的方法 (行为) 方法
举例:
1)人类设计,只关心3样东西:
事物名称(类名):人(Person)
属性:身高(height)、年龄(age)
方法(行为/功能):跑(run)、打架(fight)
2)狗类的设计
类名:狗(Dog)
属性:品种 、毛色、性别、名字、 腿儿的数量
方法(行为/功能):叫 、跑、咬人、吃、摇尾巴
4.类的抽象
拥有相同(或者类似)属性和行为的对象都可以抽像出一个类
方法:一般名词都是类(名词提炼法)
<1> 坦克发射3颗炮弹轰掉了2架飞机
坦克--》可以抽象成 类
炮弹--》可以抽象成类
飞机-》可以抽象成类
<2> 小明在公车上牵着一条叼着热狗的狗
小明--》 人类
公车--》 交通工具类
热狗--》 食物类
狗--》 狗类
5.定义类
定义一个类,格式如下:
class 类名:
方法列表
demo:定义一个Car类
# 定义类
class Car:
# 方法
def getCarInfo(self):
print('车轮子个数:%d, 颜色%s'%(self.wheelNum, self.color))
def move(self):
print("车正在移动...")
说明:
定义类时有2种:新式类和经典类,上面的Car为经典类,如果是Car(object)则为新式类
类名 的命名规则按照"大驼峰"
6.创建对象
创建对象的格式为:
对象名 = 类名()
创建对象demo:
class Car:
def move(self):
print('it it move fast')
def toot(self):
print('it is dudu')
bmw=Car()
bmw.color='黑色'
bmw.wheelNum=4
bmw.move()
bmw.toot()
print(bmw.color)
print(bmw.wheelNum)
结果为:
it it move fast
it is dudu
黑色
4
bmw = Car(),这样就产生了一个Car的实例对象,此时也可以通过实例对象bmw来访问属性或者方法
第一次使用bmw.color = '黑色'表示给bmw这个对象添加属性,如果后面再次出现bmw.color = xxx表示对属性进行修改
bmw是一个对象,它拥有属性(数据)和方法(函数)
当创建一个对象时,就是用一个模子,来制造一个实物
7.__init__()方法
1)使用方式
def 类名:
#初始化函数,用来完成一些默认的设定
def __init__():
pass
2)__init__()方法的调用
class Car:
def __init__(self):
self.wheelNum=4
self.color='蓝色'
def move(self):
print('车在移动的很快')
bmw=Car()
print('车的颜色为%s'%bmw.color)
print('车轮胎的数量为: %d'%bmw.wheelNum)
bmw.move()
运行结果为:
车的颜色为蓝色
车轮胎的数量为: 4
车在移动的很快
网友评论