1、面向对象的三个基本特性
1、封装性
所谓封装性就跟咱们的柜台一样对外只会留下功能(例如点单什么的)外来者很难去改变什么,使操作对象变得简单
2、继承性
在面向对象中,继承性就类似于咱们生活中车一样,车是一个大类有跑的功能,而像是电车就是继承了车的特征和行为,而在面向对象中,车就是父类,而电车就是子类
3、多态性
多态性就是指在父类成员被子类继承之后可以产生不同的状态或表现行为
2、类与对象
1、定义类
class 类名[(父类)]:
类体
下面是一个例子:
class Rectangle: def __init__(self, width, height): pass
pass是一个占位的意思,具体表示就是没有含义常用于演示
2、创建和使用对象
使用上面的类来创建对象
i = Rectangle()
3、实例变量
在类体中也可以包含类的成员如图:
!在python类成员中有attribute和property,在attribute中是保存数据的变量,若对其进行封装,在外部访问就需要setter和getter访问器,其中setter是对这些赋值的办法,而getter是提取的方法
an = Rectangle(200, 300)
print('宽是{0}'.format(an.width))
4、类变量
类变量是所有对象共有的变量。
class Rectangle: pai = 3.14 def __init__(self, width, height): self.width = width self.height = height an = Rectangle(200, 300) print('类变量是{0}'.format(an.pai))
其实类变量在这里表示的就是pai而其他两个变量并不是类变量是实例变量,所谓类变量就类似于生活中的公理,类变量是类里的公理,它在类中无论你如何去创建对象它是不会变的而实例变量是会改变的。
5、构造方法
def __init__(self, width, height): self.width = width self.height = height
这就是一个构造方法
6、实例方法
def get_area(self): return self.width * self.height
这是一个实例方法具体是输出你所建立对象的面积